2012-10-07 78 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