我需要将我的变量重命名var1为var60to var2(var61即为每个变量的后缀做 +1,这样var2就变成了var3,var3变成var4了……等等)。
我尝试了几件事(renvars,rename),但我没有成功,而且我不太擅长用foreach......做循环
这是一个两步的方法
forvalues i =1/60{
rename var`i' var`=`i'+10'
}
forvalues i =11/70{
rename var`i' var`=`i'-9'
}
自动数据示例:
sysuse auto
rename make var1
rename price var2
rename mpg var3
forvalues i =1/3{
rename var`i' var`=`i'+10'
}
forvalues i =11/13{
rename var`i' var`=`i'-9'
}
也可以倒退:
forval i = 60(-1)1 {
local j = `i' + 1
rename var`i' var`j'
}
正如@Metrics 建议的那样,这用一个循环替换了两个循环。那些按代码行数倒数付费的人会想去
forval i = 60(-1)1 {
rename var`i' var`=`i' + 1'
}