全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
43249 44
2011-04-08
请问在stata中可以一次对多个变量进行winsorize处理吗?比如winsor  var1 var2 var3 var4, generate(v1 v2 v3 v4) p(0.01)
谢谢各位前辈!
二维码

扫码加我 拉你入群

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

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

全部回复
2011-4-8 17:38:32
到网上下载winsorizeJ.ado即可
二维码

扫码加我 拉你入群

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

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

2011-4-8 21:16:20
zkfu41 发表于 2011-4-8 17:38
到网上下载winsorizeJ.ado即可
这么隐秘的命令你都能找出来,实在是高!

只可惜没有help文档,只好viewsource winsorizeJ.ado了。
二维码

扫码加我 拉你入群

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

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

2011-4-10 10:26:57
2011-05-06 修改:将 vv(两个v) 修改为 xx。

较为原始的方法:

*-主要变量 winsor 处理
local xx "acc sale Lsale Dsale LDsale cfo Dinv prod disexp PPE DAR"
   foreach v of varlist `xx'{
     local a: var lab `v'
         winsor `v', p(0.01) gen(`v'_x)
         drop `v'
         rename `v'_x `v'
         label var `v' "`a'"
   }
二维码

扫码加我 拉你入群

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

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

2011-4-10 11:17:52
3# voodoo
winsorizeJ操作也很简单:
winsorizeJ x1 x2 x3,suffix(w)
即可,这样会生成三个新变量,x1w x2w x3w,而且默认的是上下1%winsorize。如果要修改分位点,则写成如下格式
winsorizeJ x1 x2 x3,suffix(w) cuts(5 95)
二维码

扫码加我 拉你入群

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

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

2011-4-10 18:38:00
arlionn 发表于 2011-4-10 10:26
较为原始的方法:

*-主要变量 winsor 处理
local vv "acc sale Lsale Dsale LDsale cfo Dinv prod disexp PPE DAR"
   foreach v of varlist `vv'{
     local a: var lab `v'
         winsor `v', p(0.01) gen(`v'_x)
         drop `v'
         rename `v'_x `v'
         label var `v' "`a'"
   }
这个方法循序渐进,更值得大家学习借鉴——毕竟绝大多数的命令并不会像winsor那样正好有一个批量处理的winsorizeJ和它对应。
当然我不太赞成在语句中随意用“drop `v'”类似这样危险的操作。除非你已经养成良好的数据处理习惯,否则数据存盘(save, replace)后会导致你原来变量部分初始信息的灭失!直接生成新变量并不会给你以下工作带来太大的麻烦。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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