web-dev-qa-db-fra.com

R créer un manuel de référence avec R CMD check

J'écris un package R et je voudrais faire un manuel de référence pdf de toutes les fonctions du package. J'ai compris de ici que R CMD check crée automatiquement un manuel de référence.

Ici J'ai lu qu'une entrée manuelle est créée "des fonctions que vous avez répertoriées dans la section d'exportation de NAMESPACE".

Mon fichier NAMESPACE se présente comme suit:

# Export all names
exportPattern(".")

# Import all packages listed as Imports or Depends
import(
  LIM
)

donc je pensais que tout serait exporté. Pendant R CMD check sur le répertoire du package, à la fin, il dit:

 * checking PDF version of manual ... OK

Cependant, je ne trouve pas de manuel de référence dans mon répertoire de packages (je suppose que ce serait dans inst/doc). Qu'est-ce que j'oublie ici?

38
user1981275

R CMD check crée un répertoire PACKAGE.RCheck. Dans ce répertoire, vous pouvez trouver le fichier PACKAGE-manual.pdf.

23
sgibb

Une autre façon est de créer directement le manuel de référence en utilisant:

R CMD Rd2pdf mypackage

mypackage est le dossier contenant la structure de votre dossier de code de package R, y compris le dossier man avec vos fichiers .Rd.

Pour une raison quelconque, je ne reçois jamais le manuel de référence pendant la construction ou l'archivage dans RStudio, peut-être parce que j'ai manqué un paramètre quelque part. Mais l'exécution de la commande comme celle-ci fonctionne également très bien.

80
FvD

J'ai eu le même problème. Il semble que lorsque vous cliquez sur Build ou Check in Rstudio (lors de l'utilisation de devtools), par défaut, les arguments "--no-manual" sont ajoutés aux options R CMD.

J'ai résolu cela en donnant manuellement les arguments de l'invite de commande R:

library(devtools)

check(cleanup = FALSE,manual = TRUE,path = getwd())

# without running the examples
check(cleanup = FALSE,args = c('--no-examples'),manual = TRUE,path = getwd())

Dans ce cas, un dossier appelé package.Rcheck contiendra le manuel sous la forme package-manual.pdf

Vérifiez également toute erreur dans la sortie lors de la vérification. Il peut y avoir des caractères qui pourraient bloquer la documentation.

3
Atesh

Une autre solution consiste à le produire avec:

build_manual(path=getwd())
#or
check(manual = TRUE, args="--output=~/folder/subfolder")
1
Ferroao