在实证研究中,经常会存在少数几个异常值(离群值)影响估计结果的担忧。在样本充足的情况下,我们可以选择对其直接删除;在样本限制的情况下,个人建议进行缩尾处理。那么什么是缩尾处理呢?
举个例子:对变量进行上下1%的缩尾处理指的是,如果一个样本某变量的值大于该变量的99分位数,则该样本的值被强制指定为99分位数的值;类似的,如果一个样本某变量的值小于该变量的1分位数,则该样本该变量的值被强制指定为1分位数对应的值。
Stata内置的winsor命令只能对样本进行对称的缩尾处理,且每次只能处理一个变量。如果我们想对样本进行一端缩尾或者直接删除尾部极端样本,该使用什么命令呢?winsor2。
winsor2 是一个外部用户编写的命令,主要功能是可以同时对多个变量进行缩尾(winsorize)或修剪(trim)处理。
winsor2 varlist [if] [in], [ suffix(string) replace trim cuts(# #) by(groupvar) label ]
suffix(): 设置处理后新变量的后缀名,默认的后缀名为_w 或 _tr;
replace: 替换原有变量;
trim: 将特定分位数上下的数值替换为缺失值;
cuts(# #): 在具体的分位数上下进行缩尾或者修剪处理。如,cut(1 98)表示对变量数值在1分位数以下和98分位数以上的样本进行处理;
by: 分组处理;
label: 为新变量加标签。
ssc install winsor2
sysuse nlsw88, clear
(1) 不加option选项时,默认对变量进行上下1%的缩尾处理,同时生成后缀名为_w的新变量;
winsor2 wage ttl_exp
(2) 进行上下0.5%的缩尾处理,并覆盖原始数值
winsor2 wage ttl_exp, cuts(0.5 99.5) replace
(3) 对1%分位以下的数值和99分位以上的数值进行修剪处理
winsor2 wage age hours, cuts(1 99) trim
(4) 仅仅对tenure变量的上1%数值进行缩尾处理,并覆盖原始数值
winsor2 tenure, cuts(0 99) replace
接下来是空气质量报告
全国空气质量如下
河南的朋友们请保重
以上就是今天给大家分享的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~,点赞打赏随您心意,么么哒~
应广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫。第一批发票已经寄到各位小主的手中,大家快来给小爬虫打赏呀~
编辑by梅洁瓷傲
往期推文推荐:
1.合并输出回归结果和其他检验结果——esttab和estadd
7.一言不合就用stata写邮件(Outlook/Foxmail)
9.I have a Stata, I have a python
10.I have a Stata, I have a Python之二——pdf转word
关于我们
微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。
此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。
投稿邮箱:xueyuan19920310@163.com
投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿”+“推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。
欢迎关注爬虫俱乐部
微信扫一扫
关注该公众号