Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at

[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–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index