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: looping to rename variable names


From   Nick Cox <njcoxstata@gmail.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: looping to rename variable names
Date   Fri, 3 Aug 2012 09:21:56 -0500

For completeness, note also

1. A -renvars- solution

renvars *_? , postdrop(2)

However, -renvars- was never posted on SSC (which Steve meant by
"SCC"). Files could be downloaded from the Stata Journal website by
users of  Stata versions 8 through 11. Users of Stata 12 should try
the much extended -rename- first.

2. A loop solution

foreach v of var *_? {
           local new = substr("`v'", 1, length("`v'") - 2)
           rename `v' `new'
}

Nick


On Fri, Aug 3, 2012 at 5:16 AM, Kate Xu <man.k.xu@gmail.com> wrote:
> Thank you so much Steve. I just used
>
> rename *_* *
>
> and problem solved!!!
>
> Obviously you can see that i am a Stata new user. I will be posting
> more when bumping my head into wall!

On Fri, Aug 3, 2012 at 3:02 AM, Steve Nakoneshny <scnakone@ucalgary.ca> wrote:

>> Rather than use a loop, it would be far more effective to simply use -rename-. See the extensive examples available in -help rename-.
>>
>> If you happen to not be using Stata 12, -renvars- (SCC) would suit here as well.
>>
>> Lastly, it's Stata, not STATA. Please read the FAQ for further details on this point.

On 2012-08-02, at 7:42 PM, "Kate Xu" <man.k.xu@gmail.com> wrote:

>>> I would like to program a loop in STATA to change the name a long list
>>> of variables ending with "_" and a letter, like these:
>>>
>>> ab1535_a
>>> ab32343_b
>>> ab089790_g
>>> ab3434_t
>>> ...........
>>>
>>> I want to change them into
>>>
>>> ab1535
>>> ab32343
>>> ab089790
>>> ab3434
>>> ...........
>>>
>>> I can use
>>> ds ab*_*
>>> local oldname `r(varlist)'
>>>
>>> for each foreach i of local oldname {
>>> rename `i' ????
>>> }
>>>
>>> I don't know how to complete this loop, Is there a way to program this please?
*
*   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