2012-10-07 20 views
14

Tengo un archivo donde la primera fila es un encabezado. El encabezado puede tener espacios y el símbolo # (también puede haber otros caracteres especiales). Estoy tratando de leer este archivo usando read.csv o read.table pero me mantiene a generar errores:No se puede leer el archivo con "#" y espacio usando read.table o read.csv en R

undefined columns selected 

more columns than column names 

Mi archivo chromFile delimitado por tabuladores se parece a:

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

Comando:

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

Quiero buscar primero una manera de leer el archivo como sin cambiar el espacio o # con algún otro símbolo legible.

Respuesta

25

De la documentación (?read.csv):

comment.char personaje: un vector de caracteres de una longitud que contiene un solo carácter o una cadena vacía. Use "" para desactivar por completo la interpretación de los comentarios.

El valor predeterminado es comment.char = "#" que le está causando problemas. Siguiendo la documentación, debe usar comment.char = "".

Los espacios en el encabezado es otro problema que, como gentilmente señaló mrdwab, se puede abordar configurando check.names = FALSE.

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

Agregue 'check.names = FALSE' y entonces creo que la respuesta sería lo que están buscando. – A5C1D2H2I1M1N2O1R2T1

+0

Funcionó gracias .. combinación de comment.char = "" y check.names = False – user1631306

Cuestiones relacionadas