温馨提示:本文内容为个人研究过程中的经验总结,仅供参考
示例数据:CFPS 2020年家庭关系数据库,文件名为cfps2020famconf_202306
数据下载链接: _中国家庭追踪调查 (pku.edu.cn)
在CFPS问卷中未能找到对受访者子女数量的自答问题,所以使用CFPS的家庭关系数据库间接计算每个家庭的未成年人数量作为参考。
由于CFPS将“经2010年基线调查界定出来的所有基线家庭成员及其今后的血缘/领养子女将作为CFPS的基因成员”作为永久追踪对象,所以尝试计算同一家庭内年龄在0-18岁之间的成员数量,作为家庭子女数量的参考变量。并使用数据库中的“familysize20”变量进行检验。
变量名 | 变量标签 | 算法简要描述 |
---|---|---|
familysize20 | 家庭成员人数 | 汇总同一个家庭编码内部co_a20_p=1的人员总数 |
co_a20_p=1 | 个人是否与该家庭经济上是一家人 | 优先以离家人主观判断是否经济独立为准,其次以原生家庭的主观判断来界定 |
tbiy_a_p | 个人出生年 | 新采集信息及往年已有出生年信息的综合 |
表格内容参考CFPS《中国家庭追踪调查2020年数据库介绍及数据清理报告》https://www.isss.pku.edu.cn/cfps/docs/20230629171546061292.pdf
**生成年龄变量
gen age=2020-tb1y_a_p if tb1y_a_p>0
//计算受访者调查当年的年龄,即调查当年年份-个人出生年
tab age
//检查是否有负数等异常值
drop if co_a20_p==0
//由于此处计算家庭内子女数量,故删去“与该家庭经济上非一家人”的数据
**计算家庭未成年人数量
gen m=1 if age<18 & age>=0
replace m=0 if m==.
//生成新变量m,基于年龄给数据库中的未成年人打标签
bys fid20: egen child=sum(m)
//基于家庭编码fid20分组,计算每个家庭的未成年人总数
**计算家庭成年人数量
gen n=1 if age>=18
replace n=0 if n==.
//生成新变量n,基于年龄给数据库中的成年人打标签
bys fid20: egen adult=sum(n)
//基于家庭编码fid20分组,计算每个家庭的成年人总数
**数据验证
gen fsize=child+adult
//生成新变量家庭规模=未成年人总数+成年人总数
tab fid20 if fsize!=familysize20
//列出手动生成的家庭规模变量fsize与数据库中已有的家庭规模变量familysize20不相等的家庭编码,如果显示“no observation”就大功告成!
选用家庭关系数据库的原因在于,个人问卷中不含部分0-16岁使用代答问卷的少儿,而家庭关系数据库能包含该家庭所有成员的样本;
部分年份的数据库可能出现个人出生年(即tb1y_a_p变量)部分数据缺失的情况,影响家庭未成年人数量计算的准确性,并在进行数据验证时出现fsize与familysize20不相等的情况;
使用此方法可以计算家庭中任意年龄段的人口数量,同样适用于计算家庭劳动年龄人口、老年人口等变量。