首页 > 数据库 >懒人方法|(一)分享:NHANES数据库怎么下载整理

懒人方法|(一)分享:NHANES数据库怎么下载整理

时间:2024-03-29 10:01:14浏览次数:22  
标签:NHANES 数据库 懒人 library 健康 数据 下载

1.前言

继前面孟德尔随机化的代码分享,应粉丝要求出一篇关于NHANES数据库的数据整理入门教程

前面MR代码:全代码分享|R语言孟德尔随机化怎么做?TwoSampleMR包MR一套标准流程

2.数据库界面

NHANES(National Health and Nutrition Examination Survey,全国健康和营养调查)是美国进行的一项重要的、周期性的调查,由美国疾病控制与预防中心(CDC)的国家健康统计中心(NCHS)负责实施。这项调查旨在评估美国民众的健康和营养状况,并收集与健康和疾病相关的数据。

NHANES的数据通过两个主要途径收集:

  1. 问卷调查:参与者通过面对面访谈完成问卷,提供各种健康相关信息。
  2. 医学检查:在移动检查中心(MECs)进行,包括一系列的物理测量和实验室测试。

重要性:
NHANES数据库对公共卫生政策具有深远影响。政策制定者、研究人员和卫生专业人员使用这些数据来:

  • 评估美国人口的健康风险。
  • 制定针对特定健康问题的公共卫生策略和干预措施。
  • 监测关键的健康指标和趋势,如肥胖、糖尿病和心血管疾病。
  • 进行流行病学研究,建立健康和营养的关联性。

目前是仅可访问2020年前的数据:

网址:https://wwwn.cdc.gov/nchs/nhanes/Default.aspx

3.下载数据

3.1 网页下载

这里取2017-2020年为例,可用数据为该五项,占且叫之为栏目:

  • 人口统计数据(Demographics)
  • 饮食数据(Dietary)
  • 检查数据(Examination)
  • 实验室数据(Laboratory)
  • 问卷数据(Questionnaire)

这里随便点了个Laboratory Data - Metals - Urine,直接点击下载即可,这个网页下载的优点就是速度快,因为文件一般都很小,有梯无梯差不多,只要能访问的都很快。

然后直接在R中read_xpt打开即可

nhanesA 是一个R语言的软件包,它旨在方便用户访问和分析来自NHANES数据库的数据。这个包通过提供直接与NHANES数据库交互的函数,简化了下载和管理NHANES数据的流程。例如,它可以帮助用户检索某个特定年份的调查数据,进行子集分析,以及提供数据摘要等功能。

library(haven)
library(nhanesA)
library(tidyverse)
mydata <- read_xpt("P_UM.XPT")

下载完毕~

3.2 用R包下载

回到刚刚栏目页面,点击这里这个链接

第一列是每个研究指标的变量,我们只要关注例如P_UM这列即可,这个编号是独一无二的

确定完编号后在R中运行,相对于网页下载的优点就是可以写循环,批量下载

mydata1 <- nhanes('P_UM')
colnames(mydata)
# [1] "SEQN"     "WTSAPRP"  "URXUBA"   "URDUBALC" "URXUCD"   "URDUCDLC" "URXUCO"   "URDUCOLC" "URXUCS"   "URDUCSLC" "URXUMO"   "URDUMOLC" "URXUMN"  
# [14] "URDUMNLC" "URXUPB"   "URDUPBLC" "URXUSB"   "URDUSBLC" "URXUSN"   "URDUSNLC" "URXUTL"   "URDUTLLC" "URXUTU"   "URDUTULC"

4.整合导出数据

## 提取自己想要的列
dat<- mydata %>% select(SEQN, # 序列号
                         URXUBA, # 钡
                         URXUCD, # 镉
                         URXUCO, # 钴
                         URXUCS # 铯
                         ) 
                         
## 根据样本合并列
head(dat)
# # A tibble: 6 × 5
# SEQN URXUBA URXUCD URXUCO URXUCS
# <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
#   1 109266  0.359  0.039  0.214   2.16
# 2 109270  2.42   0.868  0.449   9.64
# 3 109273  0.37   0.213  0.274   2.33
# 4 109274  1.72   0.184  0.482   2.80
# 5 109287  7.53   0.215  0.303   2.85
# 6 109288  0.271  0.039  0.097   5.98
head(ghb)
# SEQN LBXGH
# 1 109264   5.3
# 2 109266   5.2
# 3 109271   5.6
# 4 109273   5.1
# 5 109274   5.7
# 6 109277   5.3
result <- merge(ghb,dat)
head(result)
# SEQN LBXGH URXUBA URXUCD URXUCO URXUCS
# 1 109266   5.2  0.359  0.039  0.214  2.160
# 2 109273   5.1  0.370  0.213  0.274  2.330
# 3 109274   5.7  1.720  0.184  0.482  2.803
# 4 109290   8.4  0.720  0.631  0.379 11.910
# 5 109295   5.3  1.270  0.039  0.323  4.145
# 6 109300   5.4  0.690  0.166  0.171  2.129
write.table(result,"result.txt",quote = F,sep = "\t",row.names = F)

标签:NHANES,数据库,懒人,library,健康,数据,下载
From: https://blog.csdn.net/weixin_48093827/article/details/137098658

相关文章

  • 从头开始,建立Neo4j图数据库,详细版
    1、前提支持:Java的JDK,在使用Neo4j图数据库之前,电脑上首先要有JDK环境;如果没有下载过JDK请参考:(1)https://www.onlinedown.net/soft/10053430.htm      (2)现在完成的资源如下所示:      (3)通过解压-得到如下所示文件夹:这个文件夹名称很关键;     (4)打......
  • 数据库事务解读
    基本用法STARTTRANSACTION;UPDATEaccountsSETbalance=balance-100WHEREaccount_id='A';UPDATEaccountsSETbalance=balance+100WHEREaccount_id='B';COMMIT;ROLLBACK;--假设这里发生了错误,我们回滚事务先开启事务,再执行相关的行为,如果执行顺......
  • 实验一 关系数据库标准语言SQL
    第1关:创建数据库#代码开始CREATEDATABASEdemo;showdatabases;#代码结束第2关:创建表#代码开始#1.切换到demo数据库USEdemo;#2.分别创建s、p、j和spj数据表#创建s表:CREATETABLEs(snoCHAR(2),snameVARCHAR(10),statusINT,cityVA......
  • 数据库中的约束纯干货——主键约束
    目录(一)特点:(二)添加主键约束2.1格式:2.2举例:......
  • 数据库设计_6.数据库实施和运行维护
    1.数据库实施    根据逻辑和物理设计的结果,在计算机上建立起实际的数据库结构,数据加载(或称装入),进行试运行和评价的过程,叫作数据库的实施(或称实现)。1.1建立实际的数据库结构    用DBMS提供的数据定义语言(DDL)编写描述逻辑设计和物理设计结果的程序(一般称为数......
  • 数据库设计_5.物理设计
        一般来说,物理设计的主要工作步骤包括确定数据分布、存储结构和访问方式。1.确定数据分布     从企业计算机应用环境出发,需要确定数据是集中管理还是分布式管理,目前企业内部网及因特网的应用越来越广泛,数据大都采用分布式管理。对于数据如何分布需要从以......
  • Python机器学习从入门到高级:导入数据(包含数据库连接)
    python数据科学系列https://developer.aliyun.com/article/1174199 ......
  • Qt5.14.2 无所不能的Qt数据库操作之旅
    身为程序员,数据库无疑是我们最为亲密无间的好伙伴。但如何高效地操作数据库,却一直是一个令人颇感棘手的难题。不过,没关系,我们的Qt大神们早已为此开辟出一条华丽绝伦的大道,就让我带你一览他们的绝世数据库操作艺术吧!一、查询驱动,方能驱车万里在对数据库开展操作之前,我......
  • Mysql(数据库)知识详解【4】~{索引,主键优化}
    记住满元素中间元素向上裂变就行了因为如果是5个节点,比第一个节点小的算一个指针,逼最后一个节点大的算一个指针,里面是4个指针所有元素都会出现在叶子节点并且诸多叶子节点通过指针构造一张单项链表看我:除了最下面节点,上面的节点(叶子空间最大16k)全部放满内存......
  • COMP9311 24T1 数据库处理
    COMP931124T1:项目1截止时间:3月29日星期五16:59:59(悉尼时间)1.目的这个项目旨在让你在阅读和理解一个适度大的关系模式(MyMyUNSW)。实现SQL查询和视图以满足信息请求。实现PL/pgSQL函数以帮助满足信息请求。目标是在MyMySUNSW数据库上构建一些有用的数据访问操作。数据可能包......