【发布时间】:2014-07-20 19:45:20
【问题描述】:
我正在与 Stata 进行第一场比赛。直到这周我才使用它,并试图通过一些例子来工作。我有以下一组数据:
contruse | educ_none | educ_prim | educ_secabove
1 | 0 | 1 | 0
0 | 1 | 0 | 0
...
我用相应的数据集创建了以下变量,以便我可以tab contruse 接受所有不同的教育。
gen education=0
replace education=1 if educ_none==1
replace education=2 if educ_prim==1
replace education=3 if educ_secabove==1
replace education=. if educ_none==. | educ_prim==. | educ_secabove==.
tab education, missing
contruse | educ_none | educ_prim | educ_secabove | education
1 | 0 | 1 | 0 | 2
0 | 1 | 0 | 0 | 1
基本上有更好的方法可以做到这一点:例如,我的 varlist 可能任意大,并且执行上述操作很痛苦。有没有办法说颠倒以下内容来处理多个变量并给单个变量一个值?
foreach x of varlist educ_none educ_prim educ_secabove {
replace `x' = . if var > 3
}
【问题讨论】:
标签: loops for-loop foreach stata