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: Is it possible to use --rename-- with the renumber option to rename variables in reverse order?


From   Aaron Kirkman <ak1795mailserv@gmail.com>
To   statalist@hsphsun2.harvard.edu
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 <njcoxstata@gmail.com> wrote:
> forval n = 2/11 {
> ...
> }
>
> Nick
>
> On Sun, Oct 28, 2012 at 5:31 AM, Phil Clayton
> <philclayton@internode.on.net> wrote:
>
>> foreach n of numlist 2/11 {
>>     rename v`n' v`=2011 - `n''
>> }
>
> On 28/10/2012, at 15:16, Aaron Kirkman <ak1795mailserv@gmail.com> 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, kantor.d@att.net <kantor.d@att.net> 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/


© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index