read.table()不使用简单的输入.txt文件

时间:2017-07-16 03:53:43

标签: r read.table

我有一个简单的.txt文件格式如下:

V1  V2  V3  V4  V5  V6
1   Lepirudin           DB00001 1   BE0000048   Prothrombin                                               
2   Cetuximab           DB00002 1   BE0000767   Epidermal growth factor receptor                          
2   Cetuximab           DB00002 2   BE0000901   Low affinity immunoglobulin gamma Fc region

我想在文件中读取然后处理内容。但是,当我尝试使用read.table()读取上面的文件时,我收到以下错误消息:

OutputFileContent <- read.table("Data.txt",header=FALSE)
  

OutputFileContent&lt; - read.table(&#34; Data.txt&#34;,header = FALSE)
      扫描错误(file = file,what = what,sep = sep,quote = quote,dec = dec,:
        第1行没有13个元素

OutputFileContent <- read.table("Data.txt",header=TRUE)
  

OutputFileContent&lt; - read.table(&#34; Data.txt&#34;,header = TRUE)
      read.table出错(&#34; EdgeList_Experiment.txt&#34;,header = TRUE):
        列数多于列名

...即使有6列和6列名称......

当输入文件是一个简单的小.txt文件时,有人可以建议为什么即使这个看似简单的函数调用失败了吗?提前感谢您的见解。

2 个答案:

答案 0 :(得分:1)

1)删除.txt文件中列之间的空格。使用在列之间点击以分隔如下。

V1  V2  V3  V4  V5  V6
1   Lepirudin   DB00001 1   BE0000048   Prothrombin
2   Cetuximab   DB00002 1   BE0000767   Epidermal growth factor receptor
2   Cetuximab   DB00002 2   BE0000901   Low affinity immunoglobulin gamma Fc region

2)OutputFileContent&lt; - read.table(&#34; ttt.txt&#34;,header = TRUE,sep =&#39; \ t&#39;)

答案 1 :(得分:1)

感谢您提出的有用建议。

为了解决orizo​​n的问题,该文件是使用以下内容生成的:

write.fwf(CompositeMatrix,file="Data.txt",sep="\t", quote=F, rownames=F, colnames=F)

关于S Rivero的使用建议: OutputFileContent&lt; - read.table(“Data.txt”,header = TRUE,sep =“\ t”,quote =“”)

...这很有效,除了由于某种原因“X1”在第一行内容中插入两次。

关于JKim建议删除文本文件中列之间的空格并使用建议的函数调用,这是有效的,除了在第一行值中插入了一个X1实例,并且整个第一行被移位显着向右,并且内容错误如下:

X1.Lepirudin...........DB00001.1..BE0000048.Prothrombin

感谢您的投入,并将继续努力解决这些问题。