Hello,各位经管之家友友们,这是小胖来论坛发的第一篇帖子,之前都是看帖子,收获非常大!所以这次自己想分享一些个人想法,尤其是目前论坛上空白部分,希望对你们有所启发吧。相信很多友友们在使用CHFS数据时遇到不少问题,尤其是如何提取户主配偶信息进行异质性分析或其他,小胖也是绞尽脑汁想的好久,在网上又没找到有关这方面的帮助,所以小胖在此分享我个人不太成熟的代码设计,欢迎大佬批评指正!!
一、问卷背景:
看hhead=1,等于1的为户主,然后看观察值的a2001若a2001=1,则需要在家庭中找到一个a2001=2的人;
若a2001=2,则需要在家庭中找到一个a2001=1的人;
若a2001=3,则需要在家庭中找到一个a2001=3的人;
若a2001=4,则需要在家庭中找到一个a2001=4的人;
若a2001=5,则需要在家庭中找到一个a2001=5的人;
若a2001=6,则需要在家庭中找到一个a2001=7的人;
若a2001=7,则需要在家庭中找到一个a2001=6的人;
若a2001=8,则需要在家庭中找到一个a2001=9的人;
若a2001=9,则需要在家庭中找到一个a2001=8的人;
若a2001=10,则需要在家庭中找到一个a2001=7777的人;
若a2001=7777,则需要在家庭中找到一个a2001=7777的人;
二、实现代码:
sort hhead
recode a2001(2=1)(1 3 4 5 6 7 8 9 10 7777=0) if hhead==1&a2001==1
recode a2001(1=1)(2 3 4 5 6 7 8 9 10 7777=0) if hhead==1&a2001==2
recode a2001(3=1)(1 2 4 5 6 7 8 9 10 7777=0) if hhead==1&a2001==3
recode a2001(4=1)(1 2 3 5 6 7 8 9 10 7777=0) if hhead==1&a2001==4
recode a2001(5=1)(1 2 3 4 6 7 8 9 10 7777=0) if hhead==1&a2001==5
recode a2001(7=1)(1 2 3 4 5 6 8 9 10 7777=0) if hhead==1&a2001==6
recode a2001(6=1)(1 2 3 4 5 7 8 9 10 7777=0) if hhead==1&a2001==7
recode a2001(9=1)(1 2 3 4 5 6 7 8 10 7777=0) if hhead==1&a2001==8
recode a2001(8=1)(1 2 3 4 5 6 7 9 10 7777=0) if hhead==1&a2001==9
recode a2001(7777=1)(1 2 3 4 5 6 7 8 9 10=0) if hhead==1&a2001==10
recode a2001(7777=1)(1 2 3 4 5 6 7 8 9 10=0) if hhead==1&a2001==7777
drop if hhead==a2001#第一步内设会有重叠,可以将这部分样本剔除,当然我也是构建的一个简易代码,如果有更好的想法设计,欢迎一起交流呀
recode a2001(1=1)(2 3 4 5 6 7 8 9 10 7777=0)
gen head_mate=a2001 if a2001==1
recode head_mate(1=1)(.=0)