温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装命令如下:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
⛳ Stata 系列推文:
作者:冷萱 (西南财经大学)
邮箱:lx@smail.swufe.edu.cn
目录
中国家庭追踪调查 (China Family Panel Studies,CFPS) 旨在通过跟踪收集个体、家庭、社区三个层次的数据,反映中国社会、经济、人口、教育和健康的变迁,为学术研究和公共政策分析提供数据基础。其最新的相关数据如下:
关于数据的申请,可以查看「申请指南」。当然,也可以查看连享会推文「Stata数据处理:清洗CFPS数据库」。尽管连享会已有相关推文,但我想分享一下自己处理 CFPS 的方法,以供读者参考。
关于该数据库更多详细介绍,请访问「中国家庭追踪调查网站」。
由于 CFPS 是对家庭进行的全面且系统的调查,问卷信息量非常大,因此 CFPS 将整个数据划分成了几个数据集。其中,最常使用的数据集是家庭经济问卷和成人问卷。为获取上述问卷的合并面板数据,我先们按照以下常规思路对 CFPS 数据进行清理:
以上的清理方式比较繁琐,需要自己先进行构思,搭建框架。此外,一些关键数据的缺失,或存在异常值也是上述过程面临的重要问题。
跨年个人核心变量库于 2021 年 4 月发布,这给我们清理数据提供了新的思路,即将其他数据与跨年个人核心变量进行匹配。
跨年个人核心变量库是个人层面的数据集,即每一条记录 (数据集中的每一行) 代表一位在任意调查轮次进入 CFPS 样本的个人。他们不仅包括 CFPS 基因成员,也包括核心成员和非核心成员。其中,CFPS 的基因成员是指经 2010 年基线调查界定出来的,与家庭有血缘/婚姻/领养关系的所有家庭成员,这些基因成员今后新生的血缘/领养子女同样被视为基因成员。
基因成员是 CFPS 的永久追踪对象。从 2012 年追踪调查开始,基因成员在家中的非基因直系亲属 (父母、配偶、子女) 被定义为当期调查的核心成员,而既不是基因成员也不是核心成员的家庭成员被被定义为非核心成员。CFPS 的家庭以是否存在经济联系来进行界定,并不要求成员们居住在同一地址。
关于跨年个人核心变量库的更多详细介绍,可以查阅官方文档「CFPS-40 中国家庭追踪调查跨年个人核心变量库清理报告」。
. use cfps2018crossyearid_202104.dta, clear
. des, replace
. keep position name type varlab
. list, noobs clean compress
Contains data from cfps2018crossyearid_202104.dta
obs: 74,130
vars: 95 16 Apr 2021 11:09
pos~n name type varlab
1 pid double 个人id
2 birthy double 出生年-跨年清理版
3 gender double 性别-跨年清理版
4 ethnicity double 民族-跨年整合版
5 entrayear double 个人样本首次进入CFPS年份
6 fidbaseline double 基线源头家户号
7 psu double 基线源头家户号对应的PSU
8 subsample double 基线源头家户号是否在全国再抽样样本中
9 subpopulation double 基线源头家户号对应的抽样子总体
10 fid10 double CFPS2010家户号
11 fid12 double CFPS2012家户号
12 fid14 double CFPS2014家户号
13 fid16 double CFPS2016家户号
14 fid18 double CFPS2018家户号
15 deceased double 截至最近一次调查,是否被报死亡
16 death_year double 死亡时间(年)
17 death_month double 死亡时间(月)
18 deathcause_code str14 死亡原因编码
19 inroster10 double 是否在CFPS2010家庭关系库中
20 indsurvey10 double CFPS2010的个人数据集类型
21 selfrpt10 double CFPS2010是否存在个人自答问卷
22 co_a10_p double CFPS2010时个人与fid10是否在经济上是一家
23 tb6_a10_p double CFPS2010个人是否在fid10住
24 marriage_10 double CFPS2010的婚姻状态
25 cfps2010edu double CFPS2010的个人最高学历
26 cfps2010sch double CFPS2010的个人在读/离校阶段
27 cfps2010eduy double CFPS2010的个人教育年限
28 cfps2010eduy_im double CFPS2010的个人教育年限-插补值
29 urban10 double 基于国家统计局资料的城乡分类变量(2010)
30 hk10 double CFPS2010户口状况
31 inroster12 double 是否在CFPS2012家庭关系库中
32 indsurvey12 double CFPS2012的个人数据集类型
33 selfrpt12 double CFPS2012是否存在个人自答问卷
34 co_a12_p double CFPS2012时个人与fid12是否在经济上是一家
35 tb6_a12_p double CFPS2012个人是否在fid12住
36 marriage_12 double CFPS2012的婚姻状态
37 cfps2012edu double CFPS2012的个人最高学历
38 cfps2012sch double CFPS2012的个人在读/离校阶段
39 cfps2012eduy double CFPS2012的个人教育年限
40 cfps2012eduy_im double CFPS2012的个人教育年限-插补值
41 urban12 double 基于国家统计局资料的城乡分类变量(2012)
42 hk12 double CFPS2012户口状况
43 employ12 double CFPS2012就业状态
44 genetype12r double 2012年基因成员类型
45 coremember12 double CFPS2012年是否是核心成员
46 alive12 double 个人CFPS2012时是否健在
47 inroster14 double 是否在CFPS2014家庭关系库中
48 indsurvey14 double CFPS2014的个人数据集类型
49 selfrpt14 double CFPS2014是否存在个人自答问卷
50 co_a14_p double CFPS2014时个人与fid14是否在经济上是一家
51 tb6_a14_p double CFPS2014个人是否在fid14住
52 marriage_14 double CFPS2014的婚姻状态
53 cfps2014edu double CFPS2014的个人最高学历
54 cfps2014sch double CFPS2014的个人在读/离校阶段
55 cfps2014eduy double CFPS2014的个人教育年限
56 cfps2014eduy_im double CFPS2014的个人教育年限-插补值
57 urban14 double 基于国家统计局资料的城乡分类变量(2014)
58 hk14 double CFPS2014户口状况
59 employ14 double CFPS2014就业状态
60 genetype14 double CFPS2014基因成员类型
61 coremember14 double CFPS2014年是否是核心成员
62 alive14 double 个人CFPS2014时是否健在
63 inroster16 double 是否在CFPS2016家庭关系库中
64 indsurvey16 double CFPS2016的个人数据集类型
65 selfrpt16 double CFPS2016是否存在个人自答问卷
66 co_a16_p double CFPS2016时个人与fid16是否在经济上是一家
67 tb6_a16_p double CFPS2016个人是否在fid16住
68 marriage_16 double CFPS2016的婚姻状态
69 cfps2016edu double CFPS2016的个人最高学历
70 cfps2016sch double CFPS2016的个人在读/离校阶段
71 cfps2016eduy double CFPS2016的个人教育年限
72 cfps2016eduy_im double CFPS2016的个人教育年限-插补值
73 urban16 double 基于国家统计局资料的城乡分类变量(2016)
74 hk16 double CFPS2016户口状况
75 employ16 double CFPS2016就业状态
76 genetype16 double CFPS2016基因成员类型
77 coremember16 double CFPS2016年是否是核心成员
78 alive16 double 个人CFPS2016时是否健在
79 inroster18 double 是否在CFPS2018家庭关系库中
80 indsurvey18 double CFPS2018的个人数据集类型
81 selfrpt18 double CFPS2018是否存在个人自答问卷
82 co_a18_p double 个人是否与该家庭经济上是一家人
83 tb6_a18_p double CFPS2018个人是否在fid18住
84 marriage_18 double CFPS2018的婚姻状态
85 cfps2018edu double CFPS2018的个人最高学历
86 cfps2018sch double CFPS2018的个人在读/离校阶段
87 cfps2018eduy double CFPS2018的个人教育年限
88 cfps2018eduy_im double CFPS2018的个人教育年限-插补值
89 urban18 double 基于国家统计局资料的城乡分类变量(2018)
90 hk18 double CFPS2018户口状况
91 employ18 double CFPS2018就业状态
92 genetype18 double CFPS2018基因成员类型
93 coremember18 double CFPS2018年是否是核心成员
94 alive18 double 个人CFPS2018时是否健在
95 releaseversion double 发布版本
可以看出,cfps2018crossyearid_202104.dta 数据集信息如下:
该数据集涵盖了 74130 个受访者,并且调查变量分为两大部分:
本文的核心就是通过转置的命令,将数据从宽转为长,然后得到个体层面 2010-2018 的面板数据。
. use cfps2018crossyearid_202104.dta, clear
. *sreshape long后面添加需要转置的变量
. *如果年份信息在变量最后,如fid10,则可以直接写fid
. *如果年份信息在变量名中间,如co_a10_p,则用@代替年份信息
. sreshape long fid inroster indsurvey selfrpt co_a@_p ///
> tb6_a@_p marriage_ cfps20@edu cfps20@sch cfps20@eduy ///
> cfps20@eduy_im urban hk employ genetype@r ///
> coremember alive, i(pid) j(year)
. *整理年份信息,新生成的年份是从变量中识别出来的
. *变量中仅有10\12\14\16\18,
. *因此需要以下步骤转换为2010\2012\2014\2016\2018
. replace year=2000+year
. *新生成的变量名太不友好,统一重命名
. rename * (pid year birthy gender ethnicity ///
> entrayear fidbaseline psu ///
> subsample subpopulation fid ///
> deceased death_year death_month ///
> deathcause_code inroster indsurvey ///
> selfrpt coeco_pid colive_pid ///
> marriage edulevel sch eduyear ///
> eduyear_im urban hk genetype14 ///
> genetype16 genetype18 releaseversion ///
> employ genetype coremember alive)
. *变量加标签
. label var pid "[个人ID]"
. label var year "[调查年份]"
. label var birthy "[出生年份]"
. label var gender "[性别:男性=1]"
. label var ethnicity "[民族]"
. label var entrayear "[个体样本首次进入CFPS年份]"
. label var deceased "[是否死亡]"
. label var death_year "[是否时间(年)]"
. label var death_year "[死亡时间(年)]"
. label var death_month "[死亡时间(月)]"
. label var deathcause_code "[死亡原因(编码)]"
. label var fid "[CFPS家户号]"
. label var inroster "[是否在CFPS家户关系库中]"
. label var indsurvey "[个人数据集类型]"
. label var selfrpt "[是否存在个人自答问卷]"
. label var coeco_pid "[与pid在经济上是否为一家]"
. label var colive_pid "[与pid是否同住]"
. label var marriage "[婚姻状况]"
. label var edulevel "[个人最高学历]"
. label var sch "[个人在读/离校阶段]"
. label var eduyear "[个人教育年限]"
. label var eduyear_im "[个人教育年限-插补值]"
. label var hk "[户口状况]"
. label var employ "[就业状态]"
. label var genetype "[基因成员类型]"
. label var coremember "[是否核心成员]"
. label var alive "[是否健在]"
. label var fidbaseline "[基线源头家户号]"
. label var psu "[基线源头家户号对应PSU]"
. label var subsample "[基线源头家户号是否在全国再抽样样本中]"
. label var subpopulation "[基线源头家户号对应的抽样子总体]"
. label var releaseversion "[发布版本]"
. save ind2010-2018.dta, replace
完成上述过程后,我们会得到一份 370650 个样本的面板数据。如果用过 CFPS,你一定会发现样本量是错误的。
实际上,该样本通过 370650=74130*5 得到,其中 74130 是初始样本量,5 是年数。如果是平衡面板,基期就有 74130 个样本,那么样本量是没有问题的。事实上,CFPS 基期只有 30000 个样本左右,后续会有新进入或者退出的样本。也就是说,上述得到的结果,某些年份个体可能没有被访问。如何清理这一部分个体呢?跨年度数据集添加了 selfrpt 变量,通过保留 selfrpt=1 的样本即可。
. tab selfrpt
[是否存 |
在个人 |
自答问 |
卷] | Freq. Percent Cum.
------------+-----------------------------------
-8 | 149,025 40.21 40.21
0 | 43,826 11.82 52.03
1 | 177,799 47.97 100.00
------------+-----------------------------------
Total | 370,650 100.00
. keep if selfrpt==1
保留 selfrpt=1 的样本后,样本量为 177799 个,与 CFPS 每一年个体样本数量相加后的结果保持一致了。同时我们也得到了 CFPS 个体层面核心变量的面板数据。
最后,也可以看一下清理好的 CFPS2010-2018 核心变量面板数据。两步能搞定的信息的确不多,但好处是搭建了一个框架,为后续数据匹配工作提供了方便。
Note:产生如下推文列表的 Stata 命令为:
lianxh cfps reshape 转换, m
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh