div - ¿Es posible usar paquetes no importados en una viñeta de paquete?
sidebarpanel shiny (2)
Estoy escribiendo una viñeta para uno de mis paquetes.
En esta viñeta, me gustaría demostrar cómo este paquete puede interactuar con otros paquetes que no están siendo importados por NAMESPACE
o por la sección de Imports
del archivo de DESCRIPTION
.
Entonces, estoy poniendo una llamada require
para usar estos paquetes externos en mi viñeta, pero, por supuesto, recibí la siguiente NOTE
cuando intento R CMD check
el paquete:
* checking for unstated dependencies in vignettes ... NOTE
‘library’ or ‘require’ call not declared from: ‘RColorBrewer’
¿Hay alguna forma de evitar esto, o debo importar estos paquetes externos o "falsificar" la viñeta utilizando eval=FALSE
?
Además, si la viñeta depende adecuadamente de ese paquete, debería haber un
% /VignetteDepends{...}
declaración en la viñeta: Sweave, Part II: Package Vignettes, R News 3/2 (octubre de 2003), 21 - 24.
Sin embargo, su caso posiblemente sea un poco diferente:
Uso if (require ("pkgxy"))
sin % //VignetteDepends{pkgxy}
( Suggests: pkgxy
en la DESCRIPCIÓN es necesario de todos modos) para algunas cosas que quiero mostrar pero donde no quiero forzar al usuario a tener Todos los paquetes sugeridos instalados. Puse una casilla al comienzo de la viñeta donde informo cuál de esos paquetes están disponibles y si un paquete no está disponible cuando se construye la viñeta, se coloca un texto "pkgxy para hacer esto" en la viñeta.
La viñeta de "introducción" del paquete hyperSpec es un ejemplo (para saber cómo funciona realmente, no solo necesita .Rnw sino también algunas definiciones más ).
Ponlo en Suggests:
de tu archivo DESCRIPTION
.
De p. 6 del manual de extensiones R :
El campo ''Sugerencias'' usa la misma sintaxis que ''Depende'' y enumera los paquetes que no son necesariamente necesarios. Esto incluye paquetes utilizados solo en ejemplos, pruebas o viñetas (consulte la Sección 1.4 [Escritura de viñetas de paquetes], página 26), y paquetes cargados en el cuerpo de funciones. Por ejemplo, supongamos que un ejemplo del paquete
foo
usa un conjunto de datos de labar
paquetes. Entonces no es necesario que labar
usefoo
menos que uno quiera ejecutar todos los ejemplos / pruebas / viñetas: es útil tenerbar
, pero no es necesario. Los requisitos de versión pueden especificarse, y serán utilizados porR CMD check
.