我正在尝试将制表符分隔列表导入R.
它长81704行.但是,read.table只创建31376.这是我的代码:
population <- read.table('population.txt', header=TRUE,sep='\t',na.strings = 'NA',blank.lines.skip = FALSE)
Run Code Online (Sandbox Code Playgroud)
没有#评论任何东西.
以下是前几行:
[1] "NAME\tSTATENAME\tPOP_2009" "Alabama\tAlabama\t4708708" "Abbeville city\tAlabama\t2934" "Adamsville city\tAlabama\t4782"
[5] "Addison town\tAlabama\t711"
Run Code Online (Sandbox Code Playgroud)
当我读它时,readLines给出了正确的数字.
任何想法都非常感谢!
nei*_*fws 16
没有看到输入文件很难诊断,但通常的嫌疑人是引号和评论字符(即使你认为后者没有).你可以试试:
quote = "", comment.char = ""
Run Code Online (Sandbox Code Playgroud)
作为read.table()的参数,看看是否有帮助.
检查count.fields文件中的内容:
n <- count.fields('population.txt', sep='\t', blank.lines.skip=FALSE)
Run Code Online (Sandbox Code Playgroud)
然后你可以检查一下
length(n) # should be 81705 (it count header so rows+1), if yes then:
table(n) # show you what's wrong
Run Code Online (Sandbox Code Playgroud)
然后是您readLines的文件并检查具有错误字段数的行.(例如 x<-readLines('population.txt'); head(x[n!=6]))