全部版块 我的主页
论坛 站务区 十一区 新手入门区
2676 3
2021-06-27
一个比较大的数据库,将个人层面的信息通过id与机构层面的数据库merge了起来,想在机构层面生成一个与培训有关的变量training,如果某个机构中至少有一个人接受过培训(已经有一个个人是否接受过培训0-1变量),则training为1,如果没有至少一个人介绍过培训,则为0,这个怎么写命令啊,蟹蟹呜呜呜
二维码

扫码加我 拉你入群

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

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

全部回复
2021-7-3 01:33:51
用且就可以了,gen new=1 if training==1&jigou==1,不过你要有机构变量才行
二维码

扫码加我 拉你入群

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

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

2021-7-5 10:04:38
按照楼主的意思 其实你是想 分id(机构识别号)利用个人层面数据统计各个机构中 接受培训的总人数 然后根据总人数情况 设定机构层面training变量
我觉得可以试试下面的思路(stata 命令)
collapse (sum)  total_T, by(id)    // 利用个人层面数据统计每个机构参加培训的总人数 其中id是每个个体所属的机构 total_T是个体层面是否接受培训的变量 为0-1型
merge 1:1 id using institution.dta   // 利用id和机构层面数据合并 这里假设institution是机构层面数据
gen training=1  // 生成新变量training=1
replace training=0 if total_T<1  // 将培训人数小于1的置为0
要注意的就是数据清洗过程 比如确保 total_T不可能为负数
二维码

扫码加我 拉你入群

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

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

2021-8-4 22:23:40
ineedfabulous12 发表于 2021-7-5 10:04
按照楼主的意思 其实你是想 分id(机构识别号)利用个人层面数据统计各个机构中 接受培训的总人数 然后根据 ...
是的!是这样!蟹蟹!!!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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