函数read.table()不是简单的输入工作。txt文件

问题描述:

我有格式化一个简单的.txt文件如下:函数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 < - 函数read.table( “DATA.TXT”,标题= FALSE)
在扫描(文件=文件错误,什么什么= 09月=月,报价=报价,DEC =月,:
1号线没有13元

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

OutputFileContent < - 函数read.table( “DATA.TXT”,首标= TRUE)
错误函数read.table中( “EdgeList_Experiment.txt”,首标= TRUE):
多于列的名称栏

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

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

+0

OutputFileContent

+1

它失败了,因为最后一列中的空格被解释为字段分隔符。为了解决这个问题,我们需要更多地了解文件的格式。如果是固定宽度格式,请考虑使用read.fwf。如果不是,那么考虑在R中使用readLines并解析该文件。或者,如果文件非常大,则可以使用awk将该解决方案修复到R之外,以用制表符或逗号替换字段分隔符。 – orizon

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 < - 函数read.table( “ttt.txt”,标题= TRUE,月= '\ t')

感谢您的有益的建议,所有的。函数read.table( “DATA.TXT”,首标= TRUE - OutputFileContent <:

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

关于小号里韦罗的建议使用:

为了解决orizo​​n的问题,使用以下生成的文件,“sep =”\ t“,quote =”“)

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

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

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

我很欣赏你的输入,并会玩弄此进一步设法解决这些遗留问题。