Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

# Re: st: too many values for -tabulate twoway, summarize-, but not -tabulate twoway-

 From Eric Booth To statalist@hsphsun2.harvard.edu Subject Re: st: too many values for -tabulate twoway, summarize-, but not -tabulate twoway- Date Wed, 4 Apr 2012 11:54:20 -0500

```<>

When you introduce the summarize() option to include the mean, SD, and Freq in the -tabulate- table cells, you hit a similar issue with Stata limits as if you tried to -tabulate- 2 categorical variables with too many categories (see -help limits- for -tabulate- and -tabulate, summarize- to those limitations).

2 solutions you might consider: (1) subset the data you run in a single -tabulate, summarize- or (2) create your table using other commands (like -collapse- and -reshape- below).

******************!
clear
set obs 10000
g x = int(runiform()*50)
g by = int(runiform()*20)
g w = int(runiform()*100)
g y = runiform()

**This works without an error:
tab x by [aw=w]

**While this gives me r(134):
**adds  Means, Standard Deviations, Frequencies to table cells
**tab x by [aw=w] , sum(y) //doesnt work

tab x by [aw=w] in 1/100, sum(y) mean //works
tab x by [aw=w] in 101/200, sum(y) mean //or use [if]

*2. or collapse & reshape:
preserve
collapse (mean) y (sd) ysd=y [aw=w], by(x by)
reshape wide y ysd, i(x) j(by)
**outsheet, export, etc.
restore
******************!

- Eric
__
Eric A. Booth
Public Policy Research Institute
Texas A&M University
ebooth@ppri.tamu.edu
+979.845.6754

On Apr 4, 2012, at 11:25 AM, László Sándor wrote:

> Hi,
>
> I am still fiddling around with -tab, sum()- (using Stata MP 12.1 for
> mac). I encountered some curious behavior that I could not track down.
>
> This works without an error:
> tab x by [aw=w]
>
> While this gives me r(134):
> tab x by [aw=w], sum(y)
>
> Why should there be a difference? Are these limits documented somewhere?
>
> FWIW, at the end I paste how I generated data for my particular test run.
>
> Thanks,
>
> Laszlo
>
> For reference, here is the help on this error:
>
> [P]     error . . . . . . . . . . . . . . . . . . . . . . . .  Return code 134
>        too many values;
>        1) You attempted to encode a string variable that takes on
>        more than 65,536 unique values.  2) You attempted to tabulate
>        a variable or pair of variables that take on too many values.
>        If you specified two variables, try interchanging them.
>        3) You issued a graph command using the by option.  The
>        by-variable takes on too many different values to construct
>
>
> set obs 1000
> set seed 19821009
> g y = rnormal()
> g y2 = rnormal()
> g by = y2 > 0.5
> g w = runiform()
> g x = runiform()
> *
> *   For searches and help try:
> *   http://www.stata.com/help.cgi?search
> *   http://www.stata.com/support/statalist/faq
> *   http://www.ats.ucla.edu/stat/stata/

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```