全部版块 我的主页
论坛 计量经济学与统计论坛 五区 数据交流中心 数据求助
2692 4
2020-06-20
按照年份将样本从高到底分成三组,然后生产两个虚拟变量A和B。若A在中间组则取1否则取0。若B在最高组则取1否则取0。有大佬指导一下stata具体怎么操作吗?
二维码

扫码加我 拉你入群

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

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

全部回复
2020-6-20 20:30:59
mnaa 发表于 2020-6-20 13:56
按照年份将样本从高到底分成三组,然后生产两个虚拟变量A和B。若A在中间组则取1否则取0。若B在最高组则取1否 ...
给出一点样本数据看看,表述不是很清楚呀。
二维码

扫码加我 拉你入群

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

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

2020-6-21 14:11:23
DΘstinyじò 发表于 2020-6-20 20:30
给出一点样本数据看看,表述不是很清楚呀。
是这样的                     

                     年份         
证券代码    2007   2008   2009
001               5            9          19
002              8            14          27
003              6            8           10
004              9            16          17
005              4            7           15
比如说上面这个数据是净利润,现在要按每一年把净利润从高到底分成三组,其他年份也同样操作。然后生成两个虚拟变量M和H,如果一个企业的净利润在最高组,那H就取1否则取0;如果净利润在中间组,那M取1否则取0。
二维码

扫码加我 拉你入群

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

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

2020-6-21 17:47:54
mnaa 发表于 2020-6-21 14:11
是这样的                     

                     年份
/*
id        np2007        np2008        np2009
001        5        9        19
002        8        14        27
003        6        8        10
004        9        16        17
005        4        7        15
你每一年都要分高中低三组,现在数据是宽面板,一年一年的算的话,要多2*3个变量,M2007、H2007...
所以先转换为长面板
*/
reshape long np,i(id) j(year)
*然后进行分组,分组看你选择什么标准。
***第一种是按照大小顺序排列等分三组:
sort year np
by year: gen g_np = group(3)
xi i.g_np
renvars _Ig_np_2 _Ig_np_3 \ M H
***第二种是自定义分组界限,比如np<=a,为第一组;a<np<=b,为第二组;np>b,为第三组
sort year np
by year: gen g_np = irecode(np,a,b)
xi i.g_np
renvars _Ig_np_1  _Ig_np_2 \ M H
*(注意:group分组是1,2,3; irecode分组是0,1,2;故在分类产生虚拟变量的命名存在略微差异)
*还有别的条件分组方式就不说了,cond、inrange、clip等函数,实质差不多
sort id  year

二维码

扫码加我 拉你入群

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

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

2020-6-21 21:22:34
DΘstinyじò 发表于 2020-6-21 17:47
/*
id        np2007        np2008        np2009
001        5        9        19
搞懂啦!!非常感谢!!!!!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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