强制读取以填充适当的列数

时间:2018-12-11 10:15:21

标签: r data.table

Fread包中的

data.table通常可以通过fill=TRUE开关处理不规则表(在我的情况下是SAM文件),只需用NA填充“不完整”行即可。有时,如果列出现在表的末尾,它可能找不到正确的最大列数,例如以下示例:

> body = paste0(rep("1 2\n", 1000), collapse="")
> main = paste0(body, "1 2 3\n", body, collapse="")
> fread(main, fill=T)
Warning message:
In fread(main, fill=T) :
  Stopped early on line 1001. Expected 2 fields but found 3.
  Consider fill=TRUE and comment.char=. First discarded non-empty line: <<1 2 3>>

是否可以通过fread选项强制fill使用正确的列数,在这种情况下为三?

当前,我只提取列数,填充第一行(用sed),fread并删除填充。这会消除快速加载带来的任何好处。

this的旧问题相关,请在“填充”选项之前。

0 个答案:

没有答案