全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 经管百科 爱问频道
16886 7
2016-05-04
stata中如何删除前5%和后5%的数据?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-5-4 20:38:56
1023715119 发表于 2016-5-4 20:38
stata中如何删除前5%和后5%的数据?
用winsor命令处理就不用删除数据了。
winsor var,gen(var_w)p(0.05)

如果真要删除,可以生成5%和95%的分位数值。然后把大于95%和小于5%的删掉就可以了。
gen p5=centile(var),p(5%)
gen p95=centile(var),p(95%)
drop if var>=p95|var<=p5
好像还有简单些的命令,我记不清楚了……可以在人大上找找
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-5-6 11:21:16
小小学渣儿007 发表于 2016-5-4 20:38
用winsor命令处理就不用删除数据了。
winsor var,gen(var_w)p(0.05)
谢谢啦,winsor命令不用删除数据?那是怎么实现的呢?是自动只回归5%-95%之间的数据吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-5-6 13:01:24
1023715119 发表于 2016-5-6 11:21
谢谢啦,winsor命令不用删除数据?那是怎么实现的呢?是自动只回归5%-95%之间的数据吗?
winsor命令是将数据的进行缩尾处理。将大于1%的数据用1%分位点的数据代替
sysuse auto.dta
winsor price ,gen (price_w) p(0.1)
*从小到大排序
sort price
list price* in 1/10
*从大到小排序
gsort _price
list price* in 1/10
***看一下这两个数据就明白了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-5-6 14:29:57
小小学渣儿007 发表于 2016-5-6 13:01
winsor命令是将数据的进行缩尾处理。将大于1%的数据用1%分位点的数据代替
sysuse auto.dta
winsor pric ...
非常感谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-3-20 11:46:42
winsor2 命令可以实现
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群