[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: "too many sersets" errors; sersets limits?

From (Vince Wiggins, StataCorp)
Subject   Re: st: "too many sersets" errors; sersets limits?
Date   Tue, 19 May 2009 17:25:58 -0500

Stephen P. Jenkins <> is running out of sersets while
drawing graphs.  Stephen writes,

> Advice please about sersets. I am making repeated calls to -xtline,
> overlay- and saving the resulting graphs. The "t" dimension is up to
> 17, and the "i" dimension may refer to several hundred persons
> ("panels" in Stata manual jargon). I then -graph combine- several
> groups of graphs.
> When I later, in the same session, try and -graph use- one of the
> combined graphs, I get a "too many sersets" error message, and no
> graph drawn. A portion of the error message is reproduced below; if
> no Break is issued, I get several screens full of red.

-sersets- are the way that -graph- stores the data for its graphs.  They are
typically hidden from users of -graph-.

-help sersets- notes that the number of a serset may be between 1 and 1,999.
While that is a bit coy, 1,999 is indeed the maximum number of sersets.  When
we increased this from 200 in Stata 8, we did not anticipate anyone exceeding
the new limit.  The limit is fixed; it cannot be changed within Stata.

I suspect it is the number of panels (several hundred) that is causing Stephen
problems.  -xtline- will create a serset for each panel.  With hundreds of
panels and thus hundreds of sersets on a single graph, and with Stephen
combining many graphs, it won't take long to exceed 1,999 sersets.

-xtline- was designed for graphs where you want to carefully distinguish
between the lines for each panel by giving each its own color or pattern.  It
wasn't really designed for hundreds of panels, where such distinctions would
become impossible to see.  If Stephen is just trying to throw up hundreds of
line, one for each panel, I recommend

    . sort i t
    . line y t, connect(L)

Where I assume that Stephen's time variable is "t", his panel variable is "i"
and the variable he wants to graph is "y".  The capital "L" in the connect()
option tells -line- to break the line each time the value of "t" decreases,
giving us separate lines for each panel.  This will create a single serset for
the whole graph.

Stephen goes on to ask,

> I seem to be able to get round this problem only by issuing a
> -serset clear- command, or by starting a new Stata session.

-graph drop _all- is less technical and safer.  Or, just drop the combined
graphs that have many sersets.  This becomes moot, it the -line- approach
proves workable.

> * [StataCorp] would it be possible to have more informative error
> messages in this case please?

Better error trapping here would indeed be nice.  We will look into it.

-- Vince

*   For searches and help try:

© Copyright 1996–2017 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index