簡體   English   中英

Stata:通過移動后綴來重命名變量

[英]Stata: rename variables by shifting suffixes

我需要將變量var1var60重命名為var2var61 (即對每個變量的后綴進行+1,這樣var2變成var3var3變成var4 ...依此類推)。

我嘗試了幾種方法( renvarsrename ),但是我沒有成功,而且我不太擅長使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM