接下来我再举一个平常大家都会遇到的问题,这个问题有时候你根本发现不了:
我们在进行截尾处理时,经常会用到:
_pctile a, percentile(1 99) //计算出变量a的第1百分位值和第99百分位值,即2%水平上截尾处理,stata界面不显示结果,而是存在return list
return list //查看上述命令的结果
drop if a<r(r1) //这个命令没问题,因为它直接承接着上面的return list ,关键是执行完这个命令,return list 已经发生了彻底的变化
如果你继续用
drop if a>r(r2)
那么不好意思了,这就错了,因为你执行完drop if a<r(r1),return list已经发生变化了,这时候会遇到两种结果,一是命令报错,另一种是它不报错并直接执行下去,但是drop掉的并不是你想要的结果,这个错误很隐蔽,你发现不了的话意味着截尾过程出错了。