2011-10-27 9 views
29

He estado usando R por un tiempo y me he dado cuenta que sería de gran ayuda si pudiera adjuntar una descripción de datos contenida en data.frame, porque podría reunir toda la información de investigación útil en un archivo .Rdata.¿Cómo agregar documentación a un data.frame en R?

quiero añadir a mi información de trama de datos como la que se muestra por? Iris (que describen los datos de la trama de datos del iris)

Sin embargo no puedo encontrar una manera de hacer esto.

+1

Ver las respuestas proporcionadas aquí, también debería funcionar para data.frames Creo: http://stackoverflow.com/questions/6324568/function-commenting-conventions-in-r/ 6324618 # 6324618 – Chase

Respuesta

19

Puede añadirlo como un atributo arbitrario:

attr(df,"doc") = "This is my documentation" 

Estas cosas se conservan en su mayoría por corte n de subconjuntos, pero algunos procesos se soltarlos. Tal es la naturaleza de un sistema de paso por valor.

Puede haber incluso un paquete en CRAN de metadatos más complejo como atributos con algunas funciones de contenedor, pero en el fondo todos los atributos de su ...

23

@Spacedman tiene la buena respuesta general para este tipo de cosas.

Si desea algo un poco más elegante, puede probar comment().

comment(iris) <- 
"  This famous (Fisher's or Anderson's) iris data set gives the 
measurements in centimeters of the variables sepal length and 
width and petal length and width, respectively, for 50 flowers 
from each of 3 species of iris. The species are _Iris setosa_, 
_versicolor_, and _virginica_.\n" 

cat(comment(iris)) 
# This famous (Fisher's or Anderson's) iris data set gives the 
# measurements in centimeters of the variables sepal length and 
# width and petal length and width, respectively, for 50 flowers 
# from each of 3 species of iris. The species are _Iris setosa_, 
# _versicolor_, and _virginica_. 

label() y units() de la en el paquete Hmisc proporcionar mecanismos para la documentación de columnas individuales en data.frames. contents(), en el mismo paquete, a continuación, resume cualquiera de estos atributos que ha adjuntado al data.frame.

+0

'comment' está en el paquete' base', no 'Hmisc'. –

+1

@RichieCotton - Gracias por señalar eso. Supongo que no era justo suponer que dado que 'comment' siempre está _available_ después de adjuntar' Hmisc' ... que por lo tanto _provided_ por 'Hmisc';) –

2

Otra posibilidad sería la de convertir su df en un objeto de una clase formal (S4, clase de referencia) con dos campos - decir "datos" (el DF) y "info" (cadena de caracteres con la descripción)

Ver? SetRefClass, por ejemplo

Cuestiones relacionadas