[英]Stata foreach loop to generate new variables from a list of variable names
[英]Stata: Generate Variable with foreach
我想通過創建一個等於 A1、..、A5 的新變量 A 來聚合我的變量 A1、..、A5,只要相應的 r`k' 等於 1。我想要聚合的變量太多像這種方式,我想知道也許有一種方法可以比我下面的代碼更緊湊地編寫它。 (我猜這里可以使用 foreach 但我不確定如何使用)
gen A=.
gen B=.
forvalues k=1/5 {
replace A=A`k' if r`k'==1
replace B=B`k' if r`k'==1
}
這將一個循環映射為兩個:
foreach v in A B
gen `v' = .
forvalues k=1/5 {
replace `v' = `v'`k' if r`k'==1
}
}
但是也許您的數據結構需要重新訪問,這樣您就可以更簡單地獲得其他東西,而不是循環兩次。 因此,如果有意義的話,將AB
堆疊到一個變量中將刪除一個循環。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.