read.table在遇到特殊符号后退出

时间:2016-06-17 15:48:04

标签: r read.table

我正在尝试使用以下命令读取制表符分隔文件:

df <- read.table("input.txt", header=FALSE, sep="\t", quote="", comment.char="", 
                 encoding="utf-8")

应该有30 million行。但是,在read.table()返回后,df只包含约600万行。并且有一条警告信息如下:

警告讯息:

In read.table("input.txt", header = FALSE, sep = "\t", quote = "",  :
  incomplete final line found by readTableHeader on 'input.txt'

我相信read.table在其中一个字符串列中遇到特殊的问号(ASCII code: 1A Substitute)后退出。在输入文件中,唯一的特殊字符是tab,因为它用于分隔列。无论如何要求read.table将任何其他角色视为不特别?

1 个答案:

答案 0 :(得分:0)

如果你有3000万行。我会使用fread而不是read.table。它更快。详细了解http://www.inside-r.org/packages/cran/data.table/docs/fread

 fread(input, sep="auto", encoding = "UTF-8" )

关于read.table的问题。我认为这里的解决方案应该解决它。 'Incomplete final line' warning when trying to read a .csv file into R