CHARLS-中国健康与养老调查数据库清洗(二)

发布时间:2022-04-09 阅读 2642

CHARLS-中国健康与养老调查数据库清洗(二)

Stata 连享会   主页 || 视频 || 推文 || 知乎 || Bilibili 站

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc, ihelp, rdbalance, gitee, installpkg

课程详情 https://gitee.com/lianxh/Course

课程主页 https://gitee.com/lianxh/Course

⛳ Stata 系列推文:

PDF 下载 - 推文合集

作者:宋森安(西南财经大学) 邮箱:songsean@88.com; 李青塬(广东工业大学) 邮箱:qingyuanli95@gmail.com


目录


注: 本文仅用于学术探讨,不涉及 CHARLS 原始微观数据展示,如需使用,请参考自行注册下载!( CHARLS 用户条款:不得将 CHARLS 数据发布、转让、出售、出租、租借、借贷或以其他方式赠予他人)

1. 引言

上篇推文 (CHARLS-中国健康与养老调查数据库清洗(一)) 已经对 CHARLS 做了简单介绍,并回答了某些常见问题。本篇推文主要讲解下实证分析中常用变量的清洗。

具体而言,利用已经整合好的数据集—— Harmonized CHARLS 做数据清洗。 Harmonized CHARLS 包含有专门的说明文件解释每一个清理好的变量,具体包含题目、变量名称、变量标签、变量类型、描述性统计、分类数值编码、如何构建、不同年份调查间的差异、与 HRS 的差异、具体变量的使用等 10 个方面。请各位读者注册账号后自行下载阅读。

2.常用变量清理

2.1 自动创建文件夹

在 E 盘自动创建 CHARLS 研究文件夹,并在其下创建子文件夹,可根据电脑具体情况修改路径。

*******自动创建文件夹*******
clear all
set more off
global root= "E:\CHARLS"       //在 E 盘自动创建 CHARLS 研究题目,并在其下创建子文件夹
global dofiles= "$root\Dofiles"      //存放 dofiles
global raw_data= "$root\Raw_data"     //存放原始数据
global working_data= "$root\Working_data"  //存放工作数据
global temp_data= "$root\Temp_data"      //存放临时数据
global References= "$root\References"   //存放问卷及参考文献
cap !mkdir "$raw_data"
cap mkdir "$temp_data"                //自动创建文件夹
cap mkdir "$working_data"
cap mkdir "$dofiles"                  //如果已经创建了这些文件夹,也可以运行
cap mkdir  "$working_data"                 //以上命令在每次打开 do 文件都可运行
cap  mkdir "$root\References"

2.2 注册登录及数据下载

******* CHARLS 注册登录及数据下载 *******
view browse https://charls.pku.edu.cn/      //CHARLS 注册或登录,需要登录后才能顺利运行下一行
view browse https://charls.charlsdata.com/documents/1140/download/zh-cn.html    //保存数据到 Raw_data 文件夹下
cd "$raw_data"
unzipfile H_CHARLS_D_Data, replace      //自动解压压缩包

数据文件及数据使用说明文件网址如下:https://charls.charlsdata.com/pages/data/111/zh-cn.html


图 1 CHARLS 数据下载

2.3 问卷变量搜索与选择

******* CHARLS 家户问卷及变量搜索与选择 *******
*******家户问卷 CHARLS 2018*******
cap copy https://charls.charlsdata.com/Public/ashelf/public/uploads/document/2018-charls-wave4/application/CHARLS_2018_Household_Questionnaire.pdf "$References\"
shellout $References\CHARLS_2018_Household_Questionnaire.pdf

*******家户问卷 CHARLS 2015
cap copy https://charls.charlsdata.com/Public/ashelf/public/uploads/document/2015-charls-wave4/application/CHARLS_2015_Questionnaire.pdf "$References\"
shellout  $References\CHARLS_2015_Questionnaire.pdf

*******家户问卷 CHARLS 2013*******
cap copy https://charls.charlsdata.com/Public/ashelf/public/uploads/document/2013-charls-wave2/application/CHARLS_Wave2_Main_Questionnaire.pdf "$References\"
shellout  $References\CHARLS_Wave2_Main_Questionnaire.pdf

*******家户问卷 CHARLS 2011*******
cap copy https://charls.charlsdata.com/Public/ashelf/public/uploads/document/application/CHARLS2011________.doc  "$References\"
shellout  $References\CHARLS2011________.doc

*******H_CHARLS_D 说明文件下载*******
cap copy  https://charls.charlsdata.com/Public/ashelf/public/uploads/document/harmonized_charls/application/Harmonized_CHARLS_D.pdf  "$References\"
shellout  $References\Harmonized_CHARLS_D.pdf

CHARLS 问卷非常丰富,可以根据问卷访问对象及过程内容进行分类。从问卷对象看,可分为个体、家庭、家户、社区和县(市)。根据访问过程内容看,可分为健康、认知、体检生物识别和其他内容。问卷系统概览如下图。


图 2 CHARLS 问卷系统
   

如果要使用某一年的横截面数据及变量,可以针对性阅读问卷,寻找变量。


图 3 寻找目标变量

本文使用的是 Harmonized CHARLS 数据。说明文件的结构包括 ① 标题、② 变量名、③ 变量标签、④ 变量类型、⑤ 描述性统计、⑧ 与 CHARLS 数据的差异、⑨ 与 RAND HRS 的差异以及 ⑩ 在 CHARLS 原始中的变量。


图 4 Codebook structure


图 5 Codebook structure

除少数情况外, Harmonized CHARLS 数据中的变量命名习惯遵循一致的模式。第一个字符表示变量为受访者("R")、配偶("S")、共担开支的小家庭("H")和大家庭("HH")。 第二个字符表示变量所属的调查时间波段( wave ):"1"、"2"、"3"、"4"或"A"。"A"表示"全部",即变量在每波调查中都一致。


图 6 Harmonized CHARLS 数据变量名

变量 S1HLTHLM 表示受访者的配偶是否遇到限制他/她可以做有偿工作的障碍或健康问题。变量的名称不指示谁提供了信息。例如,配偶的健康问题可能是由配偶本人回答的,也可能是由受访者作为代理人回答的。

2.4 常用变量清理

******* 常用变量清理 *******
clear
use "$raw_data\H_CHARLS_D_Data.dta"
keep ID rabyear ///出生日期
r1iwy r2iwy r3iwy r4iwy ///受访时间
radyear radmonth  ///死亡日期
r1agey r2agey r3agey r4agey   ///年龄
ragender ///性别
raeduc_c   ///受教育程度
r1mstat r2mstat r3mstat r4mstat  ///婚姻状况
r1hukou r2hukou r3hukou r4hukou   ///户口类型
h1rural h2rural  h3rural  h4rural   ///居住地类型
r1shlta  r2shlta  r3shlta r4shlta   ///自报健康
r1higov r2higov r3higov r4higov    ///社会保险
r1hipriv r2hipriv r3hipriv r4hipriv   ///商业保险
hh1ctot  hh2ctot  hh3ctot  hh4ctot   /// 家庭总消费
hh1itot  hh2itot  hh3itot  hh4itot   ///家庭总收入
h1hhres h2hhres h3hhres h4hhres  ///家庭总人口
h1child h2child h3child h4child   ///健在子女数
r1lbrf_c r2lbrf_c r3lbrf_c r4lbrf_c   ///子女数量
r1hibpe	r2hibpe	r3hibpe	r4hibpe	   ///是否曾患高血压
inw1 inw2 inw3 inw4                ///访问年份
r1iwm r2iwm r3iwm r4iwm
  forvalues i=1/4 {
          gen r`i'agey2=(r`i'agey^2)/100
  }                        ///年龄平方项
save   $working_data\Test_Data.dta, replace

2.4.1 出生日期

出生年份变量名为:rabyear (p45),出生月份变量名为:rabmonth,出生日份变量名为:rabday 。

2.4.2 受访时间

受访年份变量名为: r1iwy、r2iwy、r3iwy、r4iwy (具体见 Harmonized_CHARLS_D 说明文件 45 页,下同)。受访月份变量名为: r1iwm、r2iwm、r3iwm、r4iwm 。需说明的是,Harmonized CHARLS 既给了受访者信息,也给出了受访者配偶的信息变量。

2.4.3 死亡日期

受访者的死亡日期为:radyear、radmonth(p51)。

2.4.4 年龄

年龄已清洗完成 ,无需再处理,具体变量名称为 r1agey、r2agey、r3agey、r4agey ( p52 )。需要年龄平方项,可尝试引入。

    forvalue i=1/4 {
      gen r`i'agey2=(r`i'agey^2)/100
      }

2.4.5 性别

具体变量名称为 ragender ( p54 ),这个不可能变化,直接复制到每年即可。

2.4.6 民族

民族不是每年都询问,基本不会变化,可以通过前几年匹配,会有不少缺失值。

2.4.7 教育程度

具体变量名称为 raeduc_c(p56)。每年调查的教育程度有所差异,但 Harmonized CHARLS 只给出最高的教育程度。清洗遇到的难点可能在于需要与上一年匹配,且进行纠错,尤其在 2015 年。笔者的清理思路是,利用 Version C 给出 2015 年时给出的最高教育程度直接判定 2015 年的教育程度即可。

2.4.8 婚姻状况

具体变量名称为 r1mstat、r2mstat、r3mstat、r4mstat(p59);r1mstath、r2mstath、r3mstath、r4mstath(p61)。这两个变量的含义稍微有所差异,读者自行判断。

2.4.9 户口类型

具体变量名称为 r1hukou、r2hukou、r3hukou、r4hukou (p70)。由于包含四种类型:1.Agricultural hukou、2.Non-agricultural hukou、3.Unified residence hukou、4. Do not have hukou,后续仍需简单的处理,或直接删除后两种。

2.4.10 居住地类型

具体变量名称为 h1rural、 h2rural、 h3rural、 h4rural (p72)。

2.4.11 自报健康

具体变量名称为 r1shlta、 r2shlta、 r3shlta、 r4shlta(p77)。

2.4.12 保险

保险直接询问了是否参与该保险计划,不具体区分医保类型。其中,社会医疗保险变量为 r1higov、r2higov、r3higov、r4higov(p191);商业健康保险变量名称为 r1hipriv、r2hipriv、r3hipriv、r4hipriv (p195)。

2.4.13 家庭总消费

具体变量名称为 hh1ctot、 hh2ctot、 hh3ctot 、hh4ctot(p380)。

2.4.14 家庭总收入

具体变量名称为 hh1itot 、hh2itot、 hh3itot、 hh4itot(p346),这个结果包含负值,计算有点离谱,读者可能需要自行计算,或使用消费替代。

2.4.15 家庭人口数

具体变量名称为 h1hhres、h2hhres、h3hhres、h4hhres (p384)。

2.4.16 健在子女数

具体变量名称为 h1child、h2child、h3child、h4child (p391)。

2.4.17 子女数量

具体变量名称为 r1lbrf_c、r2lbrf_c、r3lbrf_c、r4lbrf_c (p504)

2.4.18 是否曾患高血压

具体变量名称为 r1hibpe、r2hibpe、r3hibpe、r4hibpe(p114)

最后,把上述变量保留下来即可。当然,除以上变量, Harmonized CHARLS 还包含大量可使用的变量,或许能够对研究有帮助。限于篇幅,笔者无法全部将其列出。

3.面板数据及横截面数据构造

*******构造面板数据*******
use $working_data\Test_Data.dta,clear
keep ID inw1 inw2 inw3 inw4  r1iwy r2iwy r3iwy r4iwy r1iwm r2iwm r3iwm r4iwm r1agey r2agey r3agey r4agey r1hukou r2hukou r3hukou r4hukou
sreshape long inw r@iwy r@iwm r@agey r@hukou,i(ID) j(year)    //数据转换
save   $temp_data\Test_Panel_Data.dta, replace

*******构造横截面数据(2015年数据)*******
use  $temp_data\Test_Panel_Data.dta, clear
keep if riwy==2015
save   $temp_data\Test_Cross-Section_Data.dta, replace

变量清洗完成后,可以根据研究需要,对数据进行重塑,可构造为面板数据和横截面数据,具体数据细节可能还需进一步处理与分析。

4. 结束语

本篇推文仅向大家展示如何快捷清理 CHARLS 数据(已经列出来常用变量的名称和相应页码),读者也可以根据 CHARLS 原始数据进行清理。Harmonized CHARLS 极大地节约了数据清洗时间。需要提醒的是,笔者作为 Stata 初学者,本文的处理方法仅作参考,具体论文的数据处理还需具体分析。

5.所有代码


*******CHARLS 中国健康与养老调查数据库清洗*******

*******自动创建文件夹*******
clear all
set more off
global root= "E:\CHARLS"       //在 E 盘自动创建 CHARLS 研究题目,并在其下创建子文件夹
global dofiles= "$root\Dofiles"      //存放 dofiles
global raw_data= "$root\Raw_data"     //存放原始数据
global working_data= "$root\Working_data"  //存放工作数据
global temp_data= "$root\Temp_data"      //存放临时数据
global References= "$root\References"   //存放问卷及参考文献
cap !mkdir "$raw_data"
cap mkdir "$temp_data"                //自动创建文件夹
cap mkdir "$working_data"
cap mkdir "$dofiles"                  //如果已经创建了这些文件夹,也可以运行
cap mkdir  "$working_data"                 //以上命令在每次打开 do 文件都可运行
cap  mkdir "$root\References"
******* CHARLS 注册登录及数据下载 *******
view browse https://charls.pku.edu.cn/      //CHARLS 注册或登录,需要登录后才能顺利运行下一行
view browse https://charls.charlsdata.com/documents/1140/download/zh-cn.html    //保存数据到 Raw_data 文件夹下
cd "$raw_data"
unzipfile H_CHARLS_D_Data, replace      //自动解压压缩包

******* CHARLS 家户问卷及变量搜索与选择 *******
*******家户问卷 CHARLS 2018*******
cap copy https://charls.charlsdata.com/Public/ashelf/public/uploads/document/2018-charls-wave4/application/CHARLS_2018_Household_Questionnaire.pdf "$References\"
shellout $References\CHARLS_2018_Household_Questionnaire.pdf

*******家户问卷 CHARLS 2015
cap copy https://charls.charlsdata.com/Public/ashelf/public/uploads/document/2015-charls-wave4/application/CHARLS_2015_Questionnaire.pdf "$References\"
shellout  $References\CHARLS_2015_Questionnaire.pdf

*******家户问卷 CHARLS 2013*******
cap copy https://charls.charlsdata.com/Public/ashelf/public/uploads/document/2013-charls-wave2/application/CHARLS_Wave2_Main_Questionnaire.pdf "$References\"
shellout  $References\CHARLS_Wave2_Main_Questionnaire.pdf

*******家户问卷 CHARLS 2011*******
cap copy https://charls.charlsdata.com/Public/ashelf/public/uploads/document/application/CHARLS2011________.doc  "$References\"
shellout  $References\CHARLS2011________.doc

*******H_CHARLS_D*******
cap copy  https://charls.charlsdata.com/Public/ashelf/public/uploads/document/harmonized_charls/application/Harmonized_CHARLS_D.pdf  "$References\"
shellout  $References\Harmonized_CHARLS_D.pdf

******* 常用变量清理 *******
clear
use "$raw_data\H_CHARLS_D_Data.dta"
keep ID rabyear ///出生日期
r1iwy r2iwy r3iwy r4iwy ///受访时间
radyear radmonth  ///死亡日期
r1agey r2agey r3agey r4agey   ///年龄
ragender ///性别
raeduc_c   ///受教育程度
r1mstat r2mstat r3mstat r4mstat  ///婚姻状况
r1hukou r2hukou r3hukou r4hukou   ///户口类型
h1rural h2rural  h3rural  h4rural   ///居住地类型
r1shlta  r2shlta  r3shlta r4shlta   ///自报健康
r1higov r2higov r3higov r4higov    ///社会保险
r1hipriv r2hipriv r3hipriv r4hipriv   ///商业保险
hh1ctot  hh2ctot  hh3ctot  hh4ctot   /// 家庭总消费
hh1itot  hh2itot  hh3itot  hh4itot   ///家庭总收入
h1hhres h2hhres h3hhres h4hhres  ///家庭总人口
h1child h2child h3child h4child   ///健在子女数
r1lbrf_c r2lbrf_c r3lbrf_c r4lbrf_c   ///子女数量
r1hibpe	r2hibpe	r3hibpe	r4hibpe	   ///是否曾患高血压
inw1 inw2 inw3 inw4                ///访问年份
r1iwm r2iwm r3iwm r4iwm
  forvalues i=1/4 {
          gen r`i'agey2=(r`i'agey^2)/100
  }                        ///年龄平方项
save   $working_data\Test_Data.dta, replace

*******构造面板数据*******
use $working_data\Test_Data.dta,clear
keep ID inw1 inw2 inw3 inw4  r1iwy r2iwy r3iwy r4iwy r1iwm r2iwm r3iwm r4iwm r1agey r2agey r3agey r4agey r1hukou r2hukou r3hukou r4hukou
sreshape long inw r@iwy r@iwm r@agey r@hukou,i(ID) j(year)    //数据转换
save   $temp_data\Test_Panel_Data.dta, replace

*******构造横截面数据(2015年数据)*******
use  $temp_data\Test_Panel_Data.dta, clear
keep if riwy==2015
save   $temp_data\Test_Cross-Section_Data.dta, replace

6. 参考文献

7. 相关推文

Note:产生如下推文列表的命令为:
lianxh 数据处理 CHFS CHARLS CFPS, m

安装最新版 lianxh 命令:
ssc install lianxh, replace

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2 小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata 连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,400+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会-常见问题解答:
https://gitee.com/lianxh/Course/wikis

New! lianxh 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh