Bookmark and Share

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

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

Re: st: tabstatmat question

From   "Alvarez,Sergio" <[email protected]>
To   <[email protected]>
Subject   Re: st: tabstatmat question
Date   Fri, 02 Sep 2011 12:35:09 -0400

Sorry about ambiguity.

So I used the mean by group code to create the matrix that would store the mean values for each group, using:

egen byv=group(zone wave), lab
tabstat num_typ3, stat(mean) by(byv) save
tabstatmat TABLE

which gives me a matrix, or rather a vector, with all the values I need. The first few lines of the matrix in the output screen look like this:

  1†1:mean  1.9822335
  1†2:mean  2.6614173
  1†3:mean  2.7150396
  1†4:mean  3.3340782
  1†5:mean  2.8161094
  1†6:mean  1.1767857
  2†1:mean  1.5857143
  2†2:mean  2.1863208
  2†3:mean   2.542777
  2†4:mean  1.8849432

Now what I want to do is use -gen- or -egen- to create a variable that would look up the zone and wave of the corresponding observation from the matrix and insert the correct value in there. So I tried:

gen meancatch = TABLE[zone,wave]

and this gives the correct values for all observations with wave = 1, but creates missing values on the rest of the observations. I also tried:

gen meancatch = TABLE[byv,num_typ3]

and this gives me the correct value in some of the observations, but mostly missing values in the others.

So I must be doing something wrong, but can't figure out what. I guess the question is how to call the row and column numbers from the TABLE matrix?

Thanks again,


On Fri, 2 Sep 2011 12:08:31 -0400, Austin Nichols wrote:
Sergio <[email protected]> :
Now I have no idea what you are trying to do. For the mean by group,
egen mby=mean(num_typ3), by(zone wave)
but you are referring to (probably) nonexistent row and column numbers
of a matrix in your example.

On Fri, Sep 2, 2011 at 10:42 AM, Alvarez,Sergio <[email protected]> wrote:
Thanks Austin and Nick for your help.  I used what Austin suggested (which is what Nick also suggested) and it worked. However, when I try to create the variable that contains the mean by group it works for some observations,
but missing values are created for most of them.  I tried both:

gen meancatch = TABLE[zone,wave]
gen meancatch = TABLE[byv,num_typ3]

For the first line of code, it creates the correct value for all
observations where wave = 1, but not for any others.  The second line
creates missing values at random (as far as I can tell).

I'd appreciate any tips.

*   For searches and help try:

Sergio Alvarez
Food and Resource Economics
University of Florida
*   For searches and help try:

© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index