UP | HOME |

Compilación rápida para construir un paquete en R

Compilación rápida para construir un paquete en R

Cuando se crea un paquete innumerables veces se modifica y compila. Una posible automatización consiste en utilizar el siguiente código para compilarlo y testearlo cuando se modifique.

Díptico de la Anunciación, Jan van Eyck

Por ejemplo, si el paquete se llama preferelation, entonces escribimos un fichero llamado compilarpreferelation.r con las siguientes instrucciones:

pathscran <- "~/paquete/"
pathspaquete <- "~/paquete/preferelation"
pathsrc <- "~/paquete/preferelation/src/"
library(devtools);library(Rd2roxygen); options(roxygen.comment = "##' ") ## allow ESS style comments
tools::package_native_routine_registration_skeleton(pathspaquete,con=paste0(pathsrc,"init.c"));
library("preferelation");detach("package:preferelation", unload=TRUE);roxygen2::roxygenise(pathspaquete)
old <- getwd();setwd(pathscran);system("R CMD build preferelation && R CMD INSTALL preferelation_0.1.tar.gz");setwd(old)
library("preferelation");detach("package:preferelation", unload=TRUE);library("preferelation")


## Additional code to test the functions of the package...

Crea o regenera la documentación a partir de los comentarios de tipo roxygenise que aparecen en las funciones del subdirectorio R. La función packagenativeroutineregistrationskeleton revisa todo el código del directorio R para encontrar las llamadas de .Call y exportar las funciones de src que se hayan utilizado. Instala el paquete y lo carga en la sesión.

El código adicional de ese fichero contiene los ejemplos, tests o pruebas de interés.