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: Is it possible to use --rename-- with the renumber option to rename variables in reverse order?
From
Aaron Kirkman <[email protected]>
To
[email protected]
Subject
Re: st: Is it possible to use --rename-- with the renumber option to rename variables in reverse order?
Date
Sun, 28 Oct 2012 08:48:04 -0500
Using a --numlist-- is much simpler than the string substitution I was
using, so I'll stick with that. As always, thank you for the help.
Aaron
On Sun, Oct 28, 2012 at 3:27 AM, Nick Cox <[email protected]> wrote:
> forval n = 2/11 {
> ...
> }
>
> Nick
>
> On Sun, Oct 28, 2012 at 5:31 AM, Phil Clayton
> <[email protected]> wrote:
>
>> foreach n of numlist 2/11 {
>> rename v`n' v`=2011 - `n''
>> }
>
> On 28/10/2012, at 15:16, Aaron Kirkman <[email protected]> wrote:
>
>>> Is there a simpler way to do this in a loop? (I realise this solution
>>> is fairly simple, but I want to make sure I didn't miss something).
>>>
>>> ****
>>> clear
>>> input v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
>>> 309 418 333 153 259 172 359 319 440 317
>>> end
>>>
>>> foreach v of varlist v2-v11 {
>>> local year = 2011 - real(subinstr("`v'", "v", "", .))
>>> rename `v' v`year'
>>> }
>>> ****
>
> On Sat, Oct 27, 2012 at 10:49 PM, [email protected] <[email protected]> wrote:
>
>>>> I don't know if you can do that within the capabilities of -rename- alone, but it can be done in a loop.
>
> Aaron Kirkman
>
>>>> I have a dataset with variables v2 through v11, in that order. I'd
>>>> like to rename the variables v2009, v2008, v2007, etc. down to v2000.
>>>> In other words, v2 = v2009, v3 = v2008, etc. Is there a way to do this
>>>> with the --rename-- command in Stata 12.1 ? Perhaps some variation on:
>>>>
>>>> ****
>>>> rename v* v#, renumber(2009)
>>>> ****
>>>>
>>>> which gives me v2 = 2009, v3 = 2010, etc. In essence, I'm trying to
>>>> use a similar behaviour but in reverse order. I know that reversing
>>>> the order of the data set and using --rename-- in a similar fashion
>>>> will work:
>>>>
>>>> ****
>>>> order v11 v10 v9 v8 v7 v6 v5 v4 v3 v2
>>>> rename v* v#, renumber(2000)
>>>> ****
>>>>
>>>> I'm curious if there is a more general way, since I don't think I can
>>>> specify a varlist in reverse order, i.e. v11 - v2 will not work unless
>>>> the variables are already in that format.
> *
> * For searches and help try:
> * http://www.stata.com/help.cgi?search
> * http://www.stata.com/support/faqs/resources/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/faqs/resources/statalist-faq/
* http://www.ats.ucla.edu/stat/stata/