全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
535 3
2023-09-14
每一个id下有若干条数据,sort是每个样本在同一个id下的编号,hz_a、hz_b、hz_c是三个分类变量(若个体属于hz_*,则hz_*取1)。我想基于此,生成三个新的变量a、b、c,同一个id下,只要有一个样本属于hz_a,就令a=1;同理,只要有hz_b=1或hz_c=1的数据,就令这个id的b和c=1。
请问应该怎样写命令呢?帮帮小白
数据示意如下,
复制代码


二维码

扫码加我 拉你入群

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

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

全部回复
2023-9-15 19:40:51
bysort id : egen a=mean((cond(hz_a==1,1,.)))
bysort id : egen b=mean((cond(hz_b==1,1,.)))
bysort id : egen c=mean((cond(hz_c==1,1,.)))
mvencode _all , mv(. = 0) override
二维码

扫码加我 拉你入群

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

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

2023-9-16 08:42:08
简化一下
bysort id : egen a1=max(hz_a)
bysort id : egen b1=max(hz_b)
bysort id : egen c1=max(hz_c)
二维码

扫码加我 拉你入群

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

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

2023-9-20 11:50:13
谢谢两位的回复!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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