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]
Re: st: Transforming data - horizontal to vertical
From
lreine ycenna <[email protected]>
To
[email protected]
Subject
Re: st: Transforming data - horizontal to vertical
Date
Wed, 11 May 2011 12:48:22 +0100
I tried the command ds gdp year, not local countries `r(gdp)', but
stata tells me option local is not allowed.
am i supposed to create a variable called ' countries'? also, my var
should be gdp?
I have data like this:
year Afghanistan Albania Algeria
1977 275,820,910 .. 1,683,573,383
1978 390,555,036 .. 1,980,500,369
1979 441,210,990 .. 2,658,756,710
1980 371,168,398 .. 3,772,614,849
1981 274,293,425 .. 3,695,345,372
and I need it to be like this:
year country gdp
1977 Afghanistan 2,953,333,419
1978 Afghanistan 3,300,000,108
1979 Afghanistan 3,697,940,345
1980 Afghanistan 3,641,723,447
1981 Afghanistan 3,478,787,910
1977 Albania ..
1978 Albania ..
1979 Albania ..
1980 Albania ..
1981 Albania ..
On 11 May 2011 11:11, Nick Cox <[email protected]> wrote:
> By the way, you don't have to number them with suffixes 1, 2, etc. As
> the country identifiers were valid variable names beforehand, you
> could do something like this
>
> ds var year, not
> local countries `r(varlist)'
>
> To rename all these variables type
>
> foreach var of local countries {
> rename `var' country`var'
> }
>
> The subsequent -reshape- command would need to use the option -string-.
>
> Nick
>
> By the way, there was a small typo in Maarten's solution:
>
> label country `i' "`var'", add
>
> should be
>
> label def country `i' "`var'", add
>
> Nick
>
> On Wed, May 11, 2011 at 10:57 AM, Maarten Buis <[email protected]> wrote:
>> On Wed, May 11, 2011 at 11:28 AM, lreine ycenna <[email protected]> wrote:
>
>>> regarding this command you show me, I have over 100 countries which
>>> line up side by side. Is there anyway that I can do this without
>>> renaming them one by one?
>>
>> I assume that your dataset consists of variables var year and than all
>> countries. To get a list of the names of all variables except var
>> year type:
>>
>> ds var year, not
>> local countries `r(varlist)'
>>
>> To rename all these variables type
>>
>> local i = 1
>> foreach var of local countries {
>> rename `var' c`i'
>> label country `i' "`var'", add
>> local i = `i' + 1
>> }
>>
>
> *
> * 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/