2015-06-12

Añadir programáticamente comentarios a ficheros de texto en R

Title

Problema

Queremos añadir programáticamente comentarios dentro de nuestros ficheros de texto. De esta manera podremos autodocumentarlos. Cuando importemos los ficheros R importará solamente los datos, no los comentarios.

Solución

Como ejemplo, creamos en nuestro directorio de trabajo el fichero arboles.csv con el data frame trees.

# Dos modos. Sin nombres de fila.
write.table(trees, "arboles.csv",  sep = ",", row.names = FALSE)
write.csv(trees, "arboles.csv", row.names = FALSE)
Abrimos un editor de texto y precedemos cada línea del comentario con el símbolo almohadilla: #.

Importamos el fichero, read.table considera por defecto como comentarios aquellas líneas precedidas de #. En el caso de read.csv es necesario explicitarlo.

arboles <- read.table("arboles.csv", header = TRUE, sep = ",")
arboles <- read.csv("arboles.csv", comment.char = "#")
Inspeccionamos el resultado, apreciando que los comentarios han sido ignorados. Para ver los mismos abrimos el fichero con el editor de texto.

head(arboles)
  Girth Height Volume
1   8.3     70   10.3
2   8.6     65   10.3
3   8.8     63   10.2
4  10.5     72   16.4
5  10.7     81   18.8
6  10.8     83   19.7
Leemos los comentarios del fichero de texto en la consola

grep("^#", readLines("arboles.csv"), value = TRUE)
[1] "# trees {datasets}"                                             
[2] "# Girth, Height and Volume for Black Cherry Trees"              
[3] "# Description"                                                  
[4] "# This data set provides measurements of the girth, "           
[5] "# height and volume of timber in 31 felled black cherry trees. "
[6] "# Note that girth is the diameter of the tree (in inches) "     
[7] "# measured at 4 ft 6 in above the ground."    

Notas

Podemos usar el mismo procedimiento anterior con las funciones read.csv2, read.delim y read.delim2.

En nuestro ejemplo hemos puesto los comentarios encima del encabezados de las columnas, pero pueden ser insertados en cualquier línea nueva, también entre registros. R los interpretará como comentarios y los ignorará.

Referencias

No hay comentarios:

Publicar un comentario

Nube de datos