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: RE: rename with if

From   Nick Cox <>
To   "''" <>
Subject   st: RE: rename with if
Date   Fri, 21 Oct 2011 16:24:12 +0100

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:

© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index