【问题标题】:fread does not skip empty line when it's the last line of region-to-be-skipped当 fread 是要跳过的区域的最后一行时,它不会跳过空行
【发布时间】:2014-06-29 11:44:58
【问题描述】:

在我的制表符分隔的数据文件中(小样本可以下载here),前两行是我需要跳过的标题行,第三行是空的,因此也应该跳过,实际数据从行开始4. 当我尝试通过fread 使用skip=3 参数读取它时:

dtRM3 <- fread("hg19.fa.out2.head.tsv", skip=3, sep="\t", header=F)

它发出警告:Stopped reading at empty line 3, but text exists afterwards (discarded): - 然后警告显示第 4 行的文本。我不明白为什么它在读取空行 3 而我指示跳过前 3 行。如果我通过在其中放置任何字符使第 3 行非空,则会正确跳过它。或者,如果我告诉我再跳过一行 -

dtRM4 <- fread("hg19.fa.out2.head.tsv", skip=4, sep="\t", header=F)

它会正确跳过前 4 行并从第 5 行开始。

【问题讨论】:

    标签: r data.table


    【解决方案1】:

    如果您只运行fread("hg19.fa.out2.head.tsv") 而没有任何额外的参数,则数据会正确读取(7 条记录,15 个变量没有标头)。我无法解释。

    【讨论】:

    • 你是对的,特别是对于这个例子,我可以在没有其他参数的情况下运行fread。但我仍然想了解为什么它以所描述的方式工作......
    • @VasilyA 我可以看一下,但您能否尝试改进问题(和标题),请澄清一下。请参阅how to ask 中的一些示例和建议。例如“奇怪”太模糊了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-20
    • 2018-10-11
    • 2015-01-20
    • 1970-01-01
    • 1970-01-01
    • 2013-06-15
    • 2018-12-29
    相关资源
    最近更新 更多