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]

Re: st: Transforming data - horizontal to vertical


From   Nick Cox <[email protected]>
To   [email protected]
Subject   Re: st: Transforming data - horizontal to vertical
Date   Wed, 11 May 2011 11:11:28 +0100

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/


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