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   Austin Nichols <[email protected]>
To   [email protected]
Subject   Re: st: tabstatmat question
Date   Fri, 2 Sep 2011 12:45:05 -0400

Sergio <[email protected]>:
Did you read my response?
Look at the matrix; there is one column, so your references to row and
column make no sense.
You could make another matrix with values of byv corresponding to zone
and wave, noting that you must have these be integers counting from 1
up for row and column numbers to correspond to what you seem to want.
But why?  What would be the point of this?

On Fri, Sep 2, 2011 at 12:35 PM, Alvarez,Sergio <[email protected]> wrote:
> 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:
> TABLE[414,1]
>             num_typ3
>  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,
> Sergio
> 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]
>>> and
>>> 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:

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