Stata如何批量删除缺失值超过一定比例的变量?

缺失值是一个常见的现象,如何批量删除缺失值超过一定比例的变量?

演示数据如下:

sysuse auto, clear
tab rep78,m

批量删除缺失值比例超过5%的变量,Stata代码如下:

global p=0.05
foreach var of varlist * {    
    quietly count if missing(`var')      
    if (r(N)/_N) > $p drop `var'    
}

可以看出,如rep78变量(缺失值比例6.76%)被删除了。