美文网首页
01NHANES数据提取

01NHANES数据提取

作者: Jachin111 | 来源:发表于2023-05-10 22:04 被阅读0次

数据准备:所有数据按cycle分模块保存,MORT_data为生存数据

image.png
image.png
数据提取函数
常规数据提取
merge_files <- function(names){  #"*rhq*.xpt"
  dir_name <- Sys.glob(paste("../data/*/*/", pattern=names, sep=''))
  for (i in 1:length(dir_name)){
    files1 <- read_xpt(dir_name[i])
    files1$cycle <- substr(dir_name[i],9,17)
    if (i==1){
      files <- files1
    } else{
      files <- dplyr::bind_rows(files, files1)
    }
  }
return(files)
}

如提取人口模块数据使用:

dir.demo <- merge_files("*demo*.xpt")

备注:查看对应路径下所有数据文件名称,无法一次性匹配的应单独进行提取

Sys.glob(paste("../data/*/*/",pattern="*demo*.xpt",sep=''))

生存数据提取函数:

mergeSurveys <- function(names){  #*MORT*.dat
  dir_name <- Sys.glob(paste("../../data/*/", pattern=names, sep=''))
  for (i in 1:length(dir_name)){
    files1 <- read_fwf(file=dir_name[i],
                       col_types="iiiiiiii",
                       fwf_cols(SEQN=c(1,6),
                                ELIGSTAT=c(15,15),
                                MORTSTAT=c(16,16),
                                UCOD_LEADING=c(17,19),
                                DIABETES=c(20,20),
                                HYPERTEN=c(21,21),
                                PERMTH_INT=c(43,45),
                                PERMTH_EXM=c(46,48)
                       ),
                       na = c("", ".")
    )
    files1$cycle <- gsub("_", "-", substr(dir_name[i],29,37))
    if (i==1){
      files <- files1
    } else{
      files <- dplyr::bind_rows(files, files1)
    }
  }
  return(files)
}

生存数据各项含义查看:

table(dsn$eligstat)
#1 = "Eligible"
#2 = "Under age 18, not available for public release"
#3 = "Ineligible"

#MORTSTAT: Final Mortality Status
table(dsn$mortstat, useNA="ifany")
# 0 = Assumed alive
# 1 = Assumed deceased
# <NA> = Ineligible or under age 18

#UCOD_LEADING: Underlying Cause of Death: Recode
table(dsn$ucod_leading, useNA="ifany")
# 1 = Diseases of heart (I00-I09, I11, I13, I20-I51)
# 2 = Malignant neoplasms (C00-C97)
# 3 = Chronic lower respiratory diseases (J40-J47)
# 4 = Accidents (unintentional injuries) (V01-X59, Y85-Y86)
# 5 = Cerebrovascular diseases (I60-I69)
# 6 = Alzheimer's disease (G30)
# 7 = Diabetes mellitus (E10-E14)
# 8 = Influenza and pneumonia (J09-J18)
# 9 = Nephritis, nephrotic syndrome and nephrosis (N00-N07, N17-N19, N25-N27)
# 10 = All other causes (residual)
# <NA> = Ineligible, under age 18, assumed alive, or no cause of death data available

#DIABETES: Diabetes Flag from Multiple Cause of Death (MCOD)
table(dsn$diabetes, useNA="ifany")
# 0 = No - Condition not listed as a multiple cause of death
# 1 = Yes - Condition listed as a multiple cause of death
# <NA> = Assumed alive, under age 18, ineligible for mortality follow-up, or MCOD not available

#HYPERTEN: Hypertension Flag from Multiple Cause of Death (MCOD)
table(dsn$hyperten, useNA="ifany")
# 0 = No - Condition not listed as a multiple cause of death
# 1 = Yes - Condition listed as a multiple cause of death
# <NA> = Assumed alive, under age 18, ineligible for mortality follow-up, or MCOD not available

相关文章

  • 数据提取之JSON

    数据提取 什么是数据提取? 简单的来说,数据提取就是从响应中获取我们想要的数据的过程 数据分类 非结构化的数据:h...

  • CAD数据提取方法

    CAD数据提取方法 1.工具栏选择“注释”模块——选择“表格”——点击“数据提取”,弹出“数据提取”操作框弹出“数...

  • Genesys接口 - 03 数据提取器 - Data Extr

    Data Extractor - 数据提取器服务 允许客户通过接口,从IC数据库中提取数据,根据现有的配置决定提取...

  • 数据提取

  • 数据采集器浏览器与爬虫

    使用数据提取器从网站中提取数据。数据提取代理是读取和解析目标web页面的web浏览器。Visual Web Rip...

  • tableau数据提取还在使用空提取么?建议换一种方式

    如何高效的完成大批量数据的提取?空提取?当然不是: 首先报一个空提取的坑,之前我遇到数据提取的问题,采用空提取方式...

  • 1.1postman常用函数

    随机数 案例 提取响应数据(提取json格式的数据) 断言响应信息 案例

  • Seurat的subset,数据提取方法

    矩阵数据提取

  • Tableau进阶

    一、应用提取筛选器 数据的提取通过遵循菜单【数据→编辑数据源筛选器】。它创建了许多选项,例如对要提取的行数应用限制...

  • 2018-01-06

    一、应用提取筛选器 数据的提取通过遵循菜单【数据→编辑数据源筛选器】。它创建了许多选项,例如对要提取的行数应用限制...

网友评论

      本文标题:01NHANES数据提取

      本文链接:https://www.haomeiwen.com/subject/ecbjsdtx.html