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, is already up and running.

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

st: SV: RE: rename with if

From   Tomas Lind <>
To   "" <>
Subject   st: SV: RE: rename with if
Date   Fri, 21 Oct 2011 15:31:21 +0000

For the moment it works when using K C Wongs suggestion but modified with "`var'" as you suggested.

if "`var'" != "idnr" {
rename  `var'    `k'_`var'


-----Ursprungligt meddelande-----
Från: [] För Nick Cox
Skickat: den 21 oktober 2011 17:24
Till: ''
Ämne: st: RE: rename with if

Looking at the question again, the core is 

foreach var of varlist _all { 
	if "`var'" != "idnr" rename `var' `k'_`var' 

Picking up an idea from Fernando Rios Avila [], and adding another, this might as well be 

rename (*) (`k'_*) 
rename `k'_idnr idnr 

bearing in mind that in Stata 12 -- which you are presumed to use unless you flag otherwise -- -rename- has a bunch of new features that allow renaming of multiple variables. 


Tomas Lind

I want to rename all my variables (in lots of datasets) except the first variable which is idnr. The problem with the syntax below is that "if is not allowed". 

Someone have a solution to this?


levelsof  atc  ,  local(cat) 
    foreach  k  of local cat {
           use "G:\ATC-dataset_`k'"  ,  clear 
                 foreach  var  of varlist  _all {
	      rename  `var'    `k'_`var'        if `var' != "idnr"     
	save "G: \ATC-dataset_`k'" , replace

*   For searches and help try:

*   For searches and help try:

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