如何将NHAMCS数据导入R?

3
我正在与一个同事合作处理CDC的NHAMCS 2011-2014数据,但是他使用的是SAS,而我只有R(因为它是免费的)。数据应该在这里提供:https://www.cdc.gov/nchs/ahcd/ahcd_questionnaires.htm。然而,根据文档,它是针对SAS、SPSS或STATA格式化的。这些文件以前所未见的方式被拆分。我之前曾经能够将文件下载到R中,但是当我在这里下载zip文件并尝试在R中打开它们时,我得到了一串无意义的字符和没有列标题。过去,我成功地使用了下面的代码来获取NHANES数据:
tf <- tempfile()
download.file("https://wwwn.cdc.gov/Nchs/Nhanes/2013-2014/DEMO_H.XPT", tf, mode="wb")                                          
DEMO <- read.xport(tf)

有没有一种方法可以重新处理NHAMCS 2011-2014的内容?

那么你遇到了什么错误? - r2evans
数据文件与读取它们的程序分别发布。这些数据文件是固定格式的文本文件,已经压缩以节省空间。从SAS或其他程序中应该很容易看出每个字段使用了多少个字符。 - Tom
R和Rstudio是独立的应用程序。您不需要R studio来运行R。 - lmo
2个回答

3

SAS(xpt或sas7bdat)格式的数据文件本身不可用。但是,您可以下载Stata数据集。例如,这里的数据集可以正常使用:

download.file(url = "ftp://ftp.cdc.gov/pub/Health_Statistics/NCHS/dataset_documentation/nhamcs/stata/ed2014-stata.zip",
              destfile = "ed2014-stata.zip")
unzip("ed2014-stata.zip")

library(haven)
nhamcs2014 <- read_dta("ed2014-stata.dta")

沿着这个评论的思路,R语言的rio是一个非常好的包,可以处理各种数据格式。我用社区卫生中心的NAMCS 2014数据集进行了测试。我下载了STATA数据集,但在加载rio库后使用import("namcs2014_chc-stata.dta")成功地将其导入到R中。 - Kevin Hu

0

这些文件以自解压缩格式(可能特定于Windows)或ZIP格式分发。当我扩展2015年的zip文件时,它从起始大小的2.3 MB变成了55MB。该文件采用固定字段格式,R具有read.fwf函数来处理该格式。此外,大多数美国公共使用数据集都有由@AnthonyDamico记录的访问方法,尽管这似乎是他错过的一个。SAS输入语句位于:ftp://ftp.cdc.gov/pub/Health_Statistics/NCHS/Dataset_Documentation/NHAMCS/sas/。尽管如此,一旦您收集了三年的数据及其相关的SAS输入程序,他的SAScii软件包无疑会非常有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接