2012-10-07 76 views
14

中读取文件我有一个文件,其中第一行是一个标题。标题可以有空格和#符号(也可能有其他特殊字符)。我试图用read.csv函数read.table或读取该文件,但它不断抛出我的错误:无法使用“#”和空格使用read.table或read.csv在R

undefined columns selected 

more columns than column names 

我的制表符分隔chromFile文件看起来像:

Chromosome# Chr chr Size UCSC NCBI36/hg18 NCBIBuild36 NCBIBuild37 
1 Chr1 chr1 247199719 247249719 247249719 249250621 
2 Chr2 chr2 242751149 242951149 242951149 243199373 

命令:

chromosomes <- read.csv(chromFile, sep="\t",skip =0, header = TRUE, ) 

我想首先寻找一种方法来读取文件,因为它没有替换空间或#与其他一些可读的符号。

回答

25

从文档(?read.csv):

comment.char字符:包含单个字符或空字符串长度为1的字符向量。使用“”来完全关闭注释的解释。

默认为comment.char = "#"这会给您带来麻烦。按照文档,您应该使用comment.char = ""

标题中的空格是另一个问题,正如mrdwab指出的那样,可以通过设置check.names = FALSE来解决。

chromosomes <- read.csv(chromFile, sep = "\t", skip = 0, header = TRUE, 
         comment.char = "", check.names = FALSE) 
+0

添加'check.names = FALSE',然后我认为答案将是他们正在寻找的。 – A5C1D2H2I1M1N2O1R2T1

+0

它工作感谢..组合comment.char =“”和check.names = False – user1631306