Bookmark and Share

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


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

SV: st: reshaping with multiple identifiers


From   Mintewab Bezabih <[email protected]>
To   "[email protected]" <[email protected]>
Subject   SV: st: reshaping with multiple identifiers
Date   Sun, 1 Apr 2012 13:01:03 +0200

Dear Eric and Nick, 

Thanks  and apologies for not being clear about my problem. 

First the variables I have are the following : 
s25q3 (crop- I have now renamed it as crop), kebele (village) hhid (household id) year, mo(month) and mavg (monthly average temperature)

What I want to do is have a montly average temperature variable for each crop within a houshold and kebele  for a particular year and month. 
So that entailed me creating  i(kebele hhid s25q3)  j(both) .

My problem is when I run the command I end up with too few observations in the cells and many of them are just empty. To put this in perspective, I have a total of 
28430 observations of mavg in the long form but when I do the summary of mavg1-mavg325 in the wide form, I end up with 5312 total data points. That is 75 percent of my observations gone and I just could not figure out what went wrong. In the example you did for me , eric, you have all the values you created in the long form in the wide form as well.
Here is an example of what my data looks like:

hhid	kebele	crop	both	mavg
1	1	42	1990_1	18.11545
2	1	12	1990_2	18.08271
3	1	12	1990_3	18.11545
4	1	12	1990_4	18.10748
6	1	12	1990_7	18.11545
7	1	12	1990_8	18.01798
9	1	12	1990_10	18.11545
10	1	12	1990_10	18.11545
11	1	29	1990_10	12.95125
12	1	12	1990_10	18.11545
13	1	42	1990_10	18.11545
14	1	5	1990_10	12.61545
17	1	12	1990_10	18.36091
19	1	2	1990_10	.3813828
21	1	12	1990_10	17.74057
24	1	12	1990_10	17.88119
25	1	3	1990_10	.0508326


Mnay thanks in advance
mintewab
________________________________________
Från: [email protected] [[email protected]] f&#246;r Eric Booth [[email protected]]
Skickat: den 31 mars 2012 21:53
Till: [email protected]
Ämne: Re: st: reshaping with multiple identifiers

<>

Mintewab:

Running the commands you gave yesterday (with some clean-up and adding vars you forgot to include (like 'mavg')) gives:

**********************!
clear
inp str11(s25q3)        hhid    kebele  year    mo
"maize" 1       1       2006    1
"potatoes"      1       1       2005    1
"grass" 1       1       2004    1
"sinar/ge"      1       1       2003    1
"sinar/ge"      1       1       2002    1
end
g mavg = runiform()

egen both=group(year mo ), label //labels won't help you here
drop year mo
**you don't need 'new' since i() takes a varlist
reshape wide mavg , i(kebele hhid s25q3)  j(both)
list, noobs

/* which gives:
  +--------------------------------------------------------------------------------+
  |    s25q3   hhid   kebele      mavg1      mavg2      mavg3     mavg4      mavg5 |
  |--------------------------------------------------------------------------------|
  |    grass      1        1          .          .   .3713805         .          . |
  |    maize      1        1          .          .          .         .   .1650207 |
  | potatoes      1        1          .          .          .   .760604          . |
  | sinar/ge      1        1   .9678735   .3795409          .         .          . |
  +--------------------------------------------------------------------------------+
*/
**********************!
I'm not sure what you expected here, but you got what you asked for.  The reason 'mavg*' is missing in the wide version is that there was no data in the long version of the data.  That is, the 'mavg*' vars are non-missing in only 'mavg3' in the first observation because for the i() grass, hhid==1, kebele==1, you only have one observation in the original, long dataset (in 2004, month 1, which become the 3rd 'mavg' var in your wide data since it's the 3rd "group" of your j() var 'both').

If you expected something else, please describe with more detail (or better give an example of what you are trying to get -reshape- to do for you) so that others can give advice.

- Eric

__
Eric A. Booth
Public Policy Research Institute
Texas A&M University
[email protected]
+979.845.6754

On Mar 31, 2012, at 11:35 AM, Nick Cox wrote:

> You asked the same question yesterday and there were no answers. When
> that happens it is best to assume that the original question was not
> clear enough. Actually this version is even less informative than
> yesterday's!
>
> In this case, I see only that you want to -reshape- and that your
> attempts to do that don't satisfy. But you don't explain what most of
> these variables are. I can guess at -hhid- and -year-. Perhaps -mo-
> means "month". Why should have to guess?
>
> Nor do you show us the structure you want. What would a typical
> observation look like in the ideal structure?
>
> Nick
>
> On Sat, Mar 31, 2012 at 2:00 PM, Mintewab Bezabih
> <[email protected]> wrote:
>
>> I was trying to reshape wide my data using the command below:
>>
>>
>> egen both=group (  year mo ), label
>> egen new=group ( kebele hhid s25q3 ), label
>>
>> reshape wide mavg , i(new)  j( both)
>>
>> my variables are : s25q3   hhid    kebele  year    mo
>>
>> but while my code runs fine, I just end up with almost no observations in the reshaped file. I would appreciate any suggestion on how I could do this right
>>
>
> *
> *   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/

*
*   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/


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