read.fwf scan(file)中的错误:第1行没有x元素

时间:2019-04-14 22:20:20

标签: rstudio read.fwf

我正在从人口普查局导入固定记录数据集,并且出现扫描文件错误。我知道这个问题曾经被问过,但似乎没有答案在这里适用。

所以让我从细节开始:

  • 记录长968个字符
  • 没有标题
  • 没有评论
  • 记录完全以固定宽度定界

这是用于加载数据集的R代码。

library(downloader)
download("http://thedataweb.rm.census.gov/pub/cps/supps/nov16pub.zip", dest="dataset.zip", mode="wb")
unzip("dataset.zip")

解压缩该zip文件后,将剩下一个名为“ nov16pub.dat”的.dat文件。这是968个字符的记录。这里大约有152K记录。

所以我尝试使用以下代码加载该代码:

census_data2 <- read.fwf("nov16pub.dat", 
                        widths <- c(15, 2, 4, 5, 2, 64, 2, 27, 2, 1, 2, 2, 2, 2, 4, 2, 2, 22, 3, 3, 3, 2, 777, 2, 2, 2, 2, 2, 8), 
                        header = FALSE, 
                        skip = 0,
                        comment.char="",
                        sep = "", 
                        col_names <- c("HRHHID", "HRMONTH", "HRYEAR4", "Skip1", "HUSPNISH", "Skip2", "GESTFIPS", "Skip3", "PRTAGE", "Skip4", "PEMARITL", "Skip5", "PESEX", "PEAFEVER", "Skip6", "PEEDUCA", "PTDTRACE", "Skip7", "PENATVTY", "PEMNTVTY", "PEFNTVTY", "PRCITSHP", "Skip8", "PES1", "PES2", "Skip9", "PES4", "PES5", "Skip10"))

现在,我得到一个错误:

  

扫描错误(文件=文件,什么=什么,sep = sep,quote =引用,dec = dec,:第1行没有181个元素

我不明白的是为什么R试图寻找181个元素。我只定义了29列,每列都有一个名称。

我已经通过使用相同的宽度在Excel中打开该宽度成功解决了这个问题(嗯,在excel中,您需要这样的起点:宽度向量: 0、15、17、21、26、28、92、94、121、123、124、126、128、130、132、136、138、140、162、165、168、171、173、950、952, 954、956、958、960。此向量允许您导入Excel。

我将其另存为.csv并进行了移动。

为什么选择181个元素?这是怎么回事?

0 个答案:

没有答案