R:具有不完整制表符分隔数据的Read.table难度

时间:2014-07-22 09:39:01

标签: r read.table

我在R中的read.table函数有问题。我知道这可能是一个常见的问题,但是对这个论坛和网络的彻底搜索一般都没有帮我修复它。 我有一个.txt文件,包含253列和458800行,由制表符分隔。我正在尝试使用此代码将其读入R:

>data<-read.table("file.txt, header=TRUE,nrows=100,sep="\t")

>names<-colnames(data)

>classes<-sapply(data[1,],class)

>data<-read.table("file.txt",colClasses=classes,col.names=names,header=TRUE,nrows=460000,sep="\t",fill=TRUE)

但是当我使用sep =“\ t”参数时,R会随机跳过大约一半的行,只加载240000行,如果我不使用sep =“\ t”参数,它会加载所有行,但是列不正确。它还会显示一条警告消息,指出col.names中的列数与header = TRUE中的标题数不匹配

我认为问题可能是在.txt文件中,某些字段为空,这些字段只是空的,因此没有空格,NA或其他任何内容,例如:

  

field1“\ t”field2“\ t”“\ t”field4“\ t”(字段3为空)

我从第三方获得了该文件,但我无法对其进行任何操作。 任何人都可以帮我解决这个问题吗?

提前致谢,

1 个答案:

答案 0 :(得分:0)

您是否尝试过data.table套餐?它有一个检测分隔符的方法fread。你可以这样试试:

library(data.table)
data<-fread("file.txt)

如果有帮助,请告诉我。

由于