簡體   English   中英

從R中的在線源下載並加載SAS(.XPT)數據集

[英]Download and load an SAS (.XPT) dataset from an online source in R

我正在嘗試從國家健康與營養檢查調查( http://wwwn.cdc.gov/nchs/nhanes/search/DataPage.aspx?Component=Questionnaire&CycleBeginYear=的網站)下載並加載SAS數據集(.XPT) 。 2009 )。

我感興趣的特定數據集是SXQ_F.XPT 我嘗試了3種方法:

1,使用URL直接在read.xport加載它:

library(foreign)

mydata <- read.xport("http://wwwn.cdc.gov/Nchs/Nhanes/2009-2010/SXQ_F.XPT")
Error in lookup.xport(file) : unable to open file: 'Invalid argument'

2.首先使用download.file

download.file("http://wwwn.cdc.gov/Nchs/Nhanes/2009-2010/SXQ_F.XPT", "download_SXQ_F.XPT")
mydata <- read.xport("download_SXQ_F.XPT")
Error in lookup.xport(file) : file not in SAS transfer format

3,通過點擊鼠標手動下載數據集,然后從wd加載:

mydata <- read.xport("SXQ_F.XPT")

SEQN SXD021 SXQ800 SXQ803 SXQ806 SXQ809 SXQ700 
1 51624      1      1      1      1      2     
2 51628      1     NA     NA     NA     NA     
3 51629      1      1      1      1      2     
4 51630      1     NA     NA     NA     NA     
5 51643      1     NA     NA     NA     NA     
6 51645      1      1      2      2      2    

為什么#3但不能#2無效? 如何僅使用R下載和加載數據?

根據要求,這是運行sessionInfo()的輸出:

R version 3.2.1 (2015-06-18)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 8 x64 (build 9200)

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252    LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                           LC_TIME=English_United States.1252    

attached base packages:
[1] grid      stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] descr_1.1.1     plyr_1.8.3      weights_0.80    gdata_2.17.0    Hmisc_3.16-0    ggplot2_1.0.1   Formula_1.2-1   survival_2.38-1
[9] lattice_0.20-31 foreign_0.8-63  sas7bdat_0.5   

loaded via a namespace (and not attached):
[1] Rcpp_0.11.6         cluster_2.0.1       magrittr_1.5        splines_3.2.1       MASS_7.3-40         munsell_0.4.2      
[7] xtable_1.7-4        colorspace_1.2-6    stringr_1.0.0       tools_3.2.1         nnet_7.3-9          gtable_0.1.2       
[13] latticeExtra_0.6-26 gtools_3.5.0        digest_0.6.8        gridExtra_0.9.1     RColorBrewer_1.1-2  reshape2_1.4.1     
[19] acepack_1.3-3.3     rpart_4.1-9         stringi_0.5-5       scales_0.2.5        proto_0.3-10      

正如R help所指出的那樣,在使用download.file某些文件時,必須更仔細地訓練Windows系統。 就是這種情況。

download.file添加mode="wb"選項應將文件保存為read.xport可用的格式。

?download.file > mode

寫入文件的方式。 有用的值是“ w”,“ wb”(二進制),“ a”(附加)和“ ab”。

我最近在CRAN上發布了軟件包nhanesA。

install.packages("nhanesA")
sxq_f <- nhanes('SXQ_F')  ## Imports as data frame

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM