2010-02-22 27 views

Respuesta

35

Roxygen se puede usar en cualquier lugar dentro de un archivo R (en otras palabras, no tiene que ir seguido de una función). También se puede usar para documentar cualquier tipo de documento en la documentación de R.

lo que sólo puede documentar sus datos en un bloque separado (algo así):

#' This is data to be included in my package 
#' 
#' @name data-name 
#' @docType data 
#' @author My Name \email{[email protected]@roxygen.org} 
#' @references \url{data_blah.com} 
#' @keywords data 
NULL 
+8

Excepto que es mejor usar 'null' en lugar de 'roxygen()' para que no induzcas una dependencia en tiempo de ejecución en 'roxygen' – hadley

+1

Excelente punto, gracias. Hizo el cambio. – Shane

+3

@hadley: podría ser bueno agregar un ejemplo como este en la viñeta de roxygen, y aclarar la dependencia de roxygen? Encontré eso un poco confuso en términos de cómo estructurar los archivos. – Shane

27

A partir de roxygen2> 4.0.0, puede documentar el objeto de datos definido otra parte, documentando el nombre de el objeto definido como una cadena:

#' This is data to be included in my package 
#' 
#' @author My Name \email{[email protected]@roxygen.org} 
#' @references \url{data_blah.com} 
"data-name" 
16

Me pareció útil estudiar los ejemplos en el paquete ggplot2.

Ver ggplot2.r on github

Algunas cosas de la nota:

  • Todo el código Roxygen para conjuntos de datos se puede incluir en un único archivo en el directorio .rR del paquete.

Véase, por ejemplo, el conjunto de datos diamonds:

#' Prices of 50,000 round cut diamonds 
#' 
#' A dataset containing the prices and other attributes of almost 54,000 
#' diamonds. The variables are as follows: 
#' 
#' \itemize{ 
#' \item price. price in US dollars (\$326--\$18,823) 
#' \item carat. weight of the diamond (0.2--5.01) 
#' \item cut. quality of the cut (Fair, Good, Very Good, Premium, Ideal) 
#' \item colour. diamond colour, from J (worst) to D (best) 
#' \item clarity. a measurement of how clear the diamond is (I1 (worst), SI1, SI2, VS1, VS2, VVS1, VVS2, IF (best)) 
#' \item x. length in mm (0--10.74) 
#' \item y. width in mm (0--58.9) 
#' \item z. depth in mm (0--31.8) 
#' \item depth. total depth percentage = z/mean(x, y) = 2 * z/(x + y) (43--79) 
#' \item table. width of top of diamond relative to widest point (43--95) 
#' } 
#' 
#' @docType data 
#' @keywords datasets 
#' @name diamonds 
#' @usage data(diamonds) 
#' @format A data frame with 53940 rows and 10 variables 
NULL 

Esto se traduce en un archivo de ayuda que tiene este aspecto:

roxygen documentation example

Cuestiones relacionadas