[英]Stata: rename variables by shifting suffixes
我需要將變量var1
到var60
重命名為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'
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.