Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, statalist.org is already up and running.


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

Re: st: Transforming data - horizontal to vertical


From   Nick Cox <njcoxstata@gmail.com>
To   statalist@hsphsun2.harvard.edu
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 <maartenlbuis@gmail.com> wrote:
> On Wed, May 11, 2011 at 11:28 AM, lreine ycenna <lreine.ycenna@gmail.com> 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–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index