Breve versione: Posso emulare la documentazione dei Normal
nel pacchetto stats
utilizzando roxygen
?più funzioni in un unico file .rd
lungo versione: Sto lavorando su un pacchetto e stava cercando rendere la documentazione più leggibile di avere un certo numero di funzioni con ingressi comuni/parametri raccolti sotto lo stesso titolo, che sarà un riferimento generico al gruppo. Ogni funzione dovrebbe essere ancora disponibile per l'utente finale in modo indipendente.
Ho preso come ispirazione la documentazione per Normal
che fornisce un numero di metodi relativi alla distribuzione normale, ad es. stats::dnorm()
.
Quando cerco ?dnorm
trovo il nome della sezione di aiuto è Normal
anche se Normal
non sembra essere una funzione o di un oggetto esportato.
Quello che ho provato sta mettendo quanto segue in funs.R
:
##' @rdname funs
##' @name funs
##' @aliases sum1
##' @aliases prod1
##' @title Two functions
##' @param x X
##' @param y Y
##' @return sum1 returns x+y
##' \cr
##' prod1 returns x*y
##' @examples
##' sum1(3,4)
##' prod1(3,4)
##' @export
sum1 <- function(x,y) x+y
##' @export
##' @rdname funs
prod1 <- function(x,y) x*y
Ho poi corro roxygen2
di quanto sopra. Il problema è che quando si esegue R CMD check
su questo pacchetto minimo, si trova che il pacchetto non può essere caricato come undefined exports: funs
. Se rimuovo la riga ##' @name funs
il pacchetto passa R CMD check
ma il nome della sezione della guida è sum1
anziché funs
. Se posso aggiungere il seguente sotto la sezione esempi:
##' @export
funs <- function(x) x
Passa e posso vedere l'aiuto formattato come vorrei, ma sto esportare una funzione senza senso, al fine di ottenere il nome per visualizzare correttamente.
Ho provato a cercare nei file della guida di origine per stats
per vedere come è stato ottenuto, ma sono nel formato .Rdx
che non so come visualizzare.
Inoltre, su una nota correlata, che tipo di cosa èNormal
?
require(stats)
getAnywhere("Normal")
> no object named 'Normal' was found
Aggiornamento:
@TylerRinker - Ho paura che questa è stata la prima cosa che avevo provato. Questa combina le funzioni in un unico .Rd
file, ma il nome della guida associata è lo stesso come il nome della prima funzione, che è quello che stavo cercando di evitare:
##' sum
##' gives the sum
##' @param x X
##' @param y Y
##' @return sum1 returns x+y
##' @examples
##' sum1(3,4)
##' @rdname funs
##' @export
sum1 <- function(x,y) x+y
##' product
##' gives the product
##' @return prod1 returns x*y
##' @examples
##' prod1(3,4)
##' @rdname funs
##' @export
prod1 <- function(x,y) x*y
@Andrie - questa soluzione provoca esattamente la stessa difficoltà, il nome dell'aiuto è lo stesso della prima funzione.
Forse questo proprio non è possibile ...
Potrei sbagliarmi ma questo è il modo in cui gestisco questo: https://github.com/trinker/reports/blob/master/R/GQ.R –
Rimuovi '## '@name funs' e dovrebbe funzionare (Credo). – Andrie
Post pertinente da [Hadley] (http://r-pkgs.had.co.nz/man.html#dry2), uso dell'opzione '@ describeIn'. – zx8754