在数据集中添加和命名列

时间:2018-09-01 14:24:22

标签: stata

我正在Stata中尝试将列添加到数据集中,并将其命名为year_2005,...,year_2017

这是我的代码:

gen a=.
forvalues i=2005(1)2015 {
    replace a=(b>i)
    rename a "year"+`i'
}

b是我的数据集中的数字变量。

1 个答案:

答案 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'
}