1.NHANES项目介绍
国家健康与营养调查(NationalHealthAndNutritionExaminationSurvey,NHANES),是美国疾病控制和预防中心(CDC)旨在评估美国成人和儿童的健康和营养状况进而执行的一项基于人群的横断面调查研究计划。NHANES计划始于1960s,并自1999年开始成为一项持续计划,重点关注与健康和营养有关的一系列问题。项目每年调查约5000人的全国代表性样本。研究小组由医生、医疗技术人员及健康调查员组成。参与调查遵循自愿原则,参与者将接受标准化的个人访谈和检查。NHANES访谈部分包括人口统计学、社会经济学、饮食和健康相关问题,检查部分包括医学、牙科和生理测量,以及由训练有素的医务人员进行的实验室检验。调查结果将用于确定主要疾病的患病率和疾病的风险因素,也是衡量身高、体重和血压等国家标准的基础,研究为营养和健康政策的制定提供了大量数据支持。
NHANES作为CDC连续开展的横断面研究,收集了人群中慢性病患病率的数据,通过调查,可估算出以前未确诊的情况、已知和报告的情况。同时调查风险因素,即一个人的生活方式、体质、遗传、环境中可能增加患病机会的因素,其中包括吸烟、饮酒、性行为、吸毒、身体健康状况和运动、体重、饮食摄入,还收集了关于生殖健康方面的数据,如使用口服避孕药和母乳喂养做法。研究的疾病和健康指标包括:贫血、心血管疾病、糖尿病、环境暴露眼疾、听力损失、传染性疾病、肾脏疾病、营养、肥胖、口腔健康、骨质疏松、生育史和性行为、呼吸系统疾病(哮喘,慢性支气管炎,肺气肿)、性病、视力等,研究结果可用于确定慢性疾病的患病率和危险因素,便于研究者开展流行病学研究,并为政府公共卫生政策和卫生服务计划的制定提供依据。
2.NHANES官网介绍(http;//www.cdc.gov/nchs/nhanes/index.htm)
点击左侧导航栏中的数据集,可以浏览可供选择的年份,该研究每2年为1周期。
点击相应周期后,可见到数据库的主要数据(人口数据、饮食数据、检查数据、化验数据、问卷数据、限制访问数据)。人口统计文件包含测量设计变量,例如权重、分层抽样和主要抽样单位,以及人口统计变量。饮食文件包含从参与者那里收集的有关其饮食摄入量的数据,其中包括食物、饮料和膳食补充剂。检查文件包含通过体检和牙科检查收集的信息。实验室文件包含血液、尿液、头发、空气、肺结核皮肤试验以及家庭灰尘和水样本的分析结果。问卷文件包含通过家庭和流动考试中心访谈收集的数据。
其他重要信息也可在该页面中找到,如调查内容总纲、问卷工具、实验室检验方法等。
以NHANES2017-2018人口数据为例,点击后可见数据下载链接如下
3.数据下载、合并
正如上面几个图标所展示的,NHANES数据库的数据是碎片化存储的,所以当我们需要进行大数据分析时,需要分门别类的下载完数据后再将下载的数据进行拼接整合。
NHANES数据为XPT格式,也就是SAS软件的格式,可以使用SAS Universal Viewer查看,也可以使用SUDAAN、SPSS、Stata和R软件包传输文件。本文介绍R语言下载数据、合并数据的流程。
3.1安装R语言(https;//cran.r-project.org/)
3.2安装R Studio(https;//www.rstudio.com/products/rstudio/download/#download)
3.3导入数据
启动R Studio,创建新的R脚本并输入代码
library(foreign)
demo_data<-read.xport('D:/nhanes/DEMO_J.xpt')
可以看到顺利导入数据
(友情提示,如果遇到报错提示 could not find function"read.xport",可以在右下界面package中搜索foreign软件包,点击read.xport函数后Run examples,再次运行上述代码即可)
demo_data 共有9254个样本,46个变量,点开后可见表格形式展示如下,SEQN是样本编号,SDDSRVTR、RIDSTATR、RIAGENDR、RIDAGEYR等变量名对应的具体信息可在变量列表中找到,SDDSRVTR代表数据发布周期,RIDSTATR代表面试和检查的状态,RIAGENDR代表性别,RIDAGEYR代表年龄。
3.4合并数据
然后下载我们感兴趣的其他数据,如血压数据
然后导入R Studio,发现有8704样本,21变量。
将两个数据集合并成为一个,取名为merge_data,具体代码如下
library(foreign)
demo_data<-read.xport('D:/nhanes/DEMO_J.XPT')
blood_data<-read.xport('D:/nhanes/BPX_J.XPT')
merge_data<-merge(demo_data, blood_data,by.x = 'SEQN', by.y = 'SEQN', all=ture)
输入代码
write.csv(merge_data,file="./merge_data.csv")
可以得到一个CSV格式的数据集,直接用EXCEL进一步编辑处理。
网友评论