2012-10-07 9 views
14

Mam plik, w którym pierwszy wiersz jest nagłówkiem. Nagłówek może zawierać spacje i symbol # (mogą występować również inne znaki specjalne). Próbuję odczytać ten plik używając read.csv lub read.table ale zachowuje rzuca mi błędy:Nie można odczytać pliku z "#" i spacją za pomocą read.table lub read.csv w R

undefined columns selected 

more columns than column names 

Moja tabulatorami plik chromFile wygląda następująco:

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

Command:

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

Najpierw chcę znaleźć sposób na odczytanie pliku bez zastępowania spacji lub # z innym czytelnym symbolem.

Odpowiedz

25

Z dokumentacji (?read.csv):

comment.char postać: wektor charakter jednej długości zawierający pojedynczy znak lub ciąg pusty. Użyj "", aby całkowicie wyłączyć interpretację komentarzy.

Domyślnie jest to comment.char = "#", co powoduje kłopoty. Postępując zgodnie z dokumentacją, należy użyć comment.char = "".

Spacje w nagłówku to kolejna kwestia, którą, jak uprzejmie zauważył mrdwab, można rozwiązać, ustawiając check.names = FALSE.

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

Dodaj w 'check.names = FALSE', a następnie myślę, że odpowiedź byłaby tym, czego szukają. – A5C1D2H2I1M1N2O1R2T1

+0

To zadziałało dzięki .. połączeniu comment.char = "" i check.names = False – user1631306

Powiązane problemy