基于 SAS 脚本 (NHANES III) 将 SAS 数据文件读入 R
Read a SAS data file into R based on a SAS script (NHANES III)
我正在尝试阅读 NHANES III,这是一个公开可用的流行病学数据集,可从以下位置获得:
https://wwwn.cdc.gov/nchs/nhanes/nhanes3/datafiles.aspx#core
不清楚如何执行此操作,但他们确实提供了数据文件和 SAS 文件:
https://wwwn.cdc.gov/nchs/data/nhanes3/1a/lab.dat
https://wwwn.cdc.gov/nchs/data/nhanes3/1a/lab.sas
数据文件似乎不是常规的 SAS 导出格式。这是 header:
的示例
00003038722311121202610404037061400.6411144120 000001523001737.58001735.14003702.83 000000000 000000000000003046003475.15003470.28007405.66 000000000
但是 SAS 文件似乎用 LENGTH、FORMAT、INPUT 和 LABEL 来描述它的格式 headers:
FILENAME LAB "D:\LAB\DAT\LAB.DAT" LRECL=1979;
*** LRECL includes 2 positions for CRLF, assuming use of PC SAS;
DATA WORK;
INFILE LAB MISSOVER;
LENGTH
SEQN 4
DMPFSEQ 5
DMPSTAT 3
......
FORMAT
DMPPIR Z6.3
WTPFQX6 Z9.2
WTPFEX6 Z9.2
......
INPUT
SEQN 1-5
DMPFSEQ 6-10
DMPSTAT 11
......
LABEL
SEQN = "Sample person identification number"
DMPFSEQ = "Family sequence number"
DMPSTAT = "Examination/interview Status"
知道如何将其读成友好的格式吗?
使用 SAScii
包应该是可能的。不过可能需要几分钟时间。
library(SAScii)
read.SAScii("https://wwwn.cdc.gov/nchs/data/nhanes3/1a/lab.dat",
"https://wwwn.cdc.gov/nchs/data/nhanes3/1a/lab.sas", zipped = F)
我正在尝试阅读 NHANES III,这是一个公开可用的流行病学数据集,可从以下位置获得: https://wwwn.cdc.gov/nchs/nhanes/nhanes3/datafiles.aspx#core
不清楚如何执行此操作,但他们确实提供了数据文件和 SAS 文件:
https://wwwn.cdc.gov/nchs/data/nhanes3/1a/lab.dat
https://wwwn.cdc.gov/nchs/data/nhanes3/1a/lab.sas
数据文件似乎不是常规的 SAS 导出格式。这是 header:
的示例00003038722311121202610404037061400.6411144120 000001523001737.58001735.14003702.83 000000000 000000000000003046003475.15003470.28007405.66 000000000
但是 SAS 文件似乎用 LENGTH、FORMAT、INPUT 和 LABEL 来描述它的格式 headers:
FILENAME LAB "D:\LAB\DAT\LAB.DAT" LRECL=1979;
*** LRECL includes 2 positions for CRLF, assuming use of PC SAS;
DATA WORK;
INFILE LAB MISSOVER;
LENGTH
SEQN 4
DMPFSEQ 5
DMPSTAT 3
......
FORMAT
DMPPIR Z6.3
WTPFQX6 Z9.2
WTPFEX6 Z9.2
......
INPUT
SEQN 1-5
DMPFSEQ 6-10
DMPSTAT 11
......
LABEL
SEQN = "Sample person identification number"
DMPFSEQ = "Family sequence number"
DMPSTAT = "Examination/interview Status"
知道如何将其读成友好的格式吗?
使用 SAScii
包应该是可能的。不过可能需要几分钟时间。
library(SAScii)
read.SAScii("https://wwwn.cdc.gov/nchs/data/nhanes3/1a/lab.dat",
"https://wwwn.cdc.gov/nchs/data/nhanes3/1a/lab.sas", zipped = F)