我正在Stata中尝试将列添加到数据集中,并将其命名为year_2005
,...,year_2017
。
这是我的代码:
gen a=.
forvalues i=2005(1)2015 {
replace a=(b>i)
rename a "year"+`i'
}
b
是我的数据集中的数字变量。
答案 0 :(得分:2)
这是执行此操作的一种方法:
clear
set obs 1
forvalues i = 1 / 15 {
if `i' < 10 local d 0
generate year_20`d'`i' = runiform()
}
或者(根据@NickCox注释-参见Stata tip 85):
clear
set obs 1
forvalues i = 1 / 15 {
generate year_20`: display %02.0f `i'' = runiform()
}
或使用您的示例:
clear
set obs 1
forvalues i = 2005(1)2015 {
generate a = .
replace a = runiform()
rename a year_`i'
}