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 10:42:00 -0400

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.


On Thu, 1 Sep 2011 15:49:50 -0400, Austin Nichols wrote:
Sergio <[email protected]>:
Try (-tabstatmat- is on SSC):

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

On Thu, Sep 1, 2011 at 3:30 PM, Alvarez,Sergio <[email protected]> wrote:
Dear Statalisters,

I'm trying to create a matrix of the grouped means of a variable (num_typ3).  The observations in my dataset are grouped by location (zone) and time
period (wave).

Ideally the matrix would have the zones as the rows and the waves as the
columns (or vice-versa), something like this:

ZONE      1          2       ...
1      mean(1,1)  mean(1,2)
2      mean(2,1)  mean(2,2)

I would use the matrix to generate a variable that takes the mean value
depending on the zone and wave, using something like:

gen meancatch = TABLE[zone,wave]

I believe I need to go this route, rather than directly creating the
variable, because I'm creating a set of 'fake' alternatives for each 'real' observation, corresponding to each location.  Each observation corresponds to a fishing trip, so the alternatives are the possible fishing trips that
didn't happen.  I'll do that using -reshape-.

Anyway, I thought -tabstatmat- would do the job, so I tried:

by zone wave, sort: tabstat num_typ3, stat(mean) save

Which gives me the elements of the ideal matrix one by one.  Then I try:

tabstatmat TABLE

But this returns a 1x1 matrix:

symmetric table[1,1]
mean  .94892632

So my question is, where did I mess up?  Or did I just misunderstand what
-tabstatmat- does?  Is there a convenient way to do this?

Thanks in advance,


*   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