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个也秒秒钟都把你补齐!

例子太多,不胜枚举。循环是个好东西,趁早学会,事半功倍~

原文地址:https://www.cnblogs.com/Sunnykeke/p/15124039.html