2010-02-22 6 views
43

È possibile includere file .R nella directory dei dati del mio pacchetto nel processo di roxygen?Come posso documentare i set di dati con roxygen?

Ho inserito diversi file .R nella directory dei dati. Quando vengono acquisiti con data(), leggono i file di dati grezzi ed eseguono alcune trasformazioni.

risposta

35

Roxygen può essere utilizzato ovunque all'interno di un file R (in altre parole, non deve essere seguito da una funzione). Può anche essere usato per documentare qualsiasi docType nella documentazione R.

Così si può solo documentare i vostri dati in un blocco separato (qualcosa di simile):

#' 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

'null' invece di 'roxygen()' in modo da non indurre una dipendenza run-time su 'roxygen' – hadley

+1

Punto eccellente, grazie. Fatto il cambiamento. – Shane

+3

@hadley: potrebbe essere bello aggiungere un esempio come questo nella vignetta di roxygen e fare il punto sulla dipendenza da ossigeno? Ho trovato che essere un po 'di confusione in termini di come strutturare i file. – Shane

27

A partire dal roxygen2> 4.0.0, è possibile documentare l'oggetto di dati definito altrove documentando il nome di l'oggetto definito come una stringa:

#' 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

Ho trovato utile studiare gli esempi nel pacchetto ggplot2.

Vedi ggplot2.r on github

Un paio di cose da notare:

  • Tutto il codice Roxygen per i set di dati possono essere inclusi in un singolo file nella .rR directory del pacchetto.

Vedi per esempio, il set di dati 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 

Questo si traduce in un file di aiuto che assomiglia a questo: Salvo è meglio utilizzare

roxygen documentation example