2012-10-07 4 views
14

Ich habe eine Datei, wo die erste Zeile eine Überschrift ist. Der Header kann Leerzeichen und das # -Symbol haben (es kann auch andere Sonderzeichen geben). Ich versuche, diese Datei mit read.csv oder read.table zu lesen, aber es hält mich Fehler zu werfen:Kann nicht lesen mit "#" und Leerzeichen mit read.table oder read.csv in R

undefined columns selected 

more columns than column names 

My Tab-separierte chromFile Datei wie folgt aussieht:

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

Befehl:

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

Ich möchte zuerst nach einer Möglichkeit suchen, um die Datei so zu lesen, wie ohne das Leerzeichen oder # mit einem anderen lesbaren Symbol zu ersetzen.

Antwort

25

Aus der Dokumentation (?read.csv):

comment.char Charakter: ein Zeichenvektor der Länge eines ein einzelnes Zeichen oder eine leere Zeichenfolge enthält. Verwenden Sie "", um die Interpretation von Kommentaren komplett zu deaktivieren.

Die Standardeinstellung ist comment.char = "#", die Probleme verursacht. Nach der Dokumentation sollten Sie comment.char = "" verwenden.

Leerzeichen in der Kopfzeile ist ein anderes Problem, das, wie mrdwab freundlich hingewiesen hat, durch Einstellung check.names = FALSE adressiert werden kann.

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

Fügen Sie 'check.names = FALSE' hinzu und dann denke ich, dass die Antwort das ist, wonach sie suchen. – A5C1D2H2I1M1N2O1R2T1

+0

Es funktionierte dank .. Kombination von comment.char = "" und check.names = False – user1631306

Verwandte Themen