似乎该文件https://thedataweb.rm.census.gov/pub/sipp/2014/pu2014w1.dat.gz
解压后是一个定宽格式的文本文件。所以,要阅读它,我们可以使用
library(readr)
read_delim("https://thedataweb.rm.census.gov/pub/sipp/2014/pu2014w1.sas",
delim = " ", col_names = FALSE, skip = 6) -> foo
fwf_positions(start = foo$X4, end = foo$X6) -> bar
bar[ - c(5223:5231), ] -> bar2
bar3 <- bar2 %>% mutate(width = end - begin)
foobar <- fwf_widths(bar3$width)
read_fwf("pu2014w1.dat.gz", col_positions = foobar)
请注意,在读取固定宽度的文本文件时,我们需要指定字段的位置。我通过操作 sas 输入文件的内容来做到这一点,该文件告诉我们字段的位置(用于 SAS)。此外,我必须先下载 gzip 压缩文件,然后才能成功阅读它。通常,我认为,可以直接从 url 读取。我不确定为什么从 url 读取在这里不起作用。