glennyss 发表于 2012-3-1 21:58
哇塞,久仰久仰~
你的意思我明白,祖母辈生育数量我计算过了,孩子和父母的匹配我也有,就是你说的第二代 ...
分开说,不然会乱。
1 父母的兄弟姐妹数量: m10wed(婚姻)中的s216 s218 s220 s222,问了夫妻双方的兄弟姐妹数量。以这个问基准就知道祖母辈的生育数。
2 第二代(母亲)生育数量:m07cprel (子女与父母关系)中的 dad_h dad_l mom_h mom_l提供了亲生父母的家庭号及家庭内部序列号,由此可以与子女匹配。匹配完毕之后可以计算出一对夫妻生育了多少孩子。
在一个包含全部样本信息的文件中先给每个人编号(为表示区别分父母,但三组编号内容是完全一样的)
gen double iid=hhid*1000+line
gen double iid_father=hhid*1000+line
gen double iid_mother=hhid*1000+line
然后在 m07cprel中
gen double iid_father=dad*1000+dad_l
gen double iid_mother=mom*1000+mom_l
最后将你要用的原始文件(以它为master file)与m07cprel合并。
这样新数据中有hhid,iid,iid_father, iid_mother. 现在,按照这个文件,无论这个家庭有几代人都无所谓。
gen n=1
bysort iid_mother: gen nkids=total(n)
这样,假如iid没有可以匹配的父母,一般而言(除了第三代孩子直接做户主的)就是第二代且两代户(无法找到他们的父母)。如果是三代户,无法匹配父母的实际是第一代人。剩下的情况(1,两代户,那么结果就是母亲生育的子女;2,三代户,结果为祖母生育数,母亲生育数)都可以自动计算,出来的结果应该是对的。
考虑离婚或者其他因素,可能这个命令需要加一些附加条件(if married==1比如),但大致应该是这么个方向。
这个方法最大的缺陷是只能计算尚且存活的孩子数量,会遗漏已经死亡的人。但方法1应该是比较接近实际的,父母的兄弟姐妹数量包括活着的和已经过世的。
由于m07cprel也提供了祖父母的id信息(其实方法2对三代户而言已经把祖孙匹配了),所以同样的方法你也可以去算一下,然后用这个数字与方法1对比,看看差别大概有多少。如果方法2测算出来的祖母生育数与方法1直接变量统计的结果差别不显著(算个t值看看),那应该过得了关。
最后,我觉得如果你关注孩子数量最靠谱的办法还是去查census。。。尽管里面没有死亡的人口。。如果是查生育纪录,父母的兄弟姐妹数量那个指标比较靠谱。如果方法1和2的差别比较大,那就要还原死亡人口。我还没有想到如何把死亡人口算进去的方法,这个估计要花点时间想。。临时解决不了。。