【发布时间】:2014-12-29 10:53:54
【问题描述】:
我需要生成一个代表家庭收入的变量。我有每个人的收入信息,并确定了头(head == 1)和配偶(spouse == 1)。现在我决定将家庭收入定义为户主的收入加上他们配偶的收入(如果户主已婚)或户主收入(如果户主未婚)。在这种情况下,我不能简单地使用一些命令,如
bys hhid : egen hhincome = total(income)
因为家庭中可能还有其他成员获得收入,例如与父母同住的成年子女。那么如何使用egen 函数或其他方法来实现我的目标?
谢谢,尼克,这确实是一个巧妙的解决方案。后来我想到了另一个有点笨拙的解决方案:鉴于我使用 bysort 前缀生成了两个虚拟人,头和配偶,头和他/她的配偶应该作为每个家庭组的前两个成员出现,然后我可以写bys hhid:gen hhincome=sum(income) in 1/2 if(pid==2&spouse==1)代表已婚户主,bys hhid:gen hhincome=income if((pid==2&spouse==.)| hsize==1)代表未婚户主或单身家庭,其中pid代表个人ID,hsize是先前为家庭规模创建的虚拟对象
【问题讨论】: