Stata—循环语句
最近在处理一个比较大型的数据库,发现有的时候需要做一些重复操作。如,将所有的缺失值均命名为-999,将某量表各个题目的值均减1,将一系列变量命名以y字母结尾,将一系列变量进行重新赋值,做1个因变量与10个自变量的卡方检验。如果一个个做的话,可能我已经无法活着写帖子了叭。。。
但是在某科的启发下,作为Stata小白的我,找了一些学习资料,真的发现省了不少事儿。话不多说,送上代码!
①foreach v of var a1 a2 a3 a4 a5 a6 a7 a8 a9 a10{
anova `v' b
}
*此代码意为将a1~a10分别与变量b进行单因素方差分析,一键即可完成。
*注意v两边的引号哦!找不到可以直接copy~
*红色部分可以修改
*{}两个位置不可随意更改,}需另起一行。
②foreach v of var a1 a2 a3 a4 a5 a6 a7 a8 a9 a10{
tab y `v', chi2 taub gamma
}
*10个卡方检验3秒钟。
③ foreach v of var a1 a2 a3 a4 a5 a6 a7 a8 a9 a10{
drop if `v' ==.
}
*a1~a10凡是有缺失值的都删掉啦
④foreach v of var a1 a2 a3 a4 a5 a6 a7 a8 a9 a10{
replace `v' =-999 if `v' == .| `v' == .d | `v' == .r
}
*别说10个变量的缺失值(./.d/.r)啦,100个也秒秒钟都把你补齐!
例子太多,不胜枚举。循环是个好东西,趁早学会,事半功倍~