我需要将我的变量重命名var1
为var60
to 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'
}