全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
26485 8
2013-03-18
比如:
stkcd year var1
我想把每年的var1前30%编为1,最后30%编为0,中间的为缺失值。请问如何实现?
二维码

扫码加我 拉你入群

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

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

全部回复
2013-3-18 15:54:22
一定有人问过,直至我不知道怎样在搜索的时候表达……
二维码

扫码加我 拉你入群

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

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

2013-3-18 18:25:28
二维码

扫码加我 拉你入群

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

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

2017-7-5 17:54:59
这种情况可以采用两步骤来进行,首先按年度找前30分位数和后30分位数,然后将小于30%编为1,大于70%编为0,中间的为缺失值。命令可以这样,bysort year: egen newvar30=pctile(var1), p(30)   bysort year: egen newvar70=pctile(var1), p(70)     gen var1_group=.    replace var1_group=1 if var1<newvar30    replace var1_group=0 if var1>newvar70
这种方法仅供参考,我也是多次尝试出来的,比较可靠。
二维码

扫码加我 拉你入群

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

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

2018-1-9 15:36:00
wtv1012 发表于 2017-7-5 17:54
这种情况可以采用两步骤来进行,首先按年度找前30分位数和后30分位数,然后将小于30%编为1,大于70%编为0, ...
感谢提供很好的方法,但是要注意存在缺失值的情况。stata中缺失值记为“.”表示无穷大,如果newvar30中有缺失值,可能误记为var1_group=1,所以在进行以上步骤时应当先去掉缺失值。
二维码

扫码加我 拉你入群

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

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

2021-1-7 16:06:13
wtv1012 发表于 2017-7-5 17:54
这种情况可以采用两步骤来进行,首先按年度找前30分位数和后30分位数,然后将小于30%编为1,大于70%编为0, ...
感谢楼主 已成功~
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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