rPBK

An R package for the inference of physiologically-based toxicokinetics model

Dev R

Package skeleton

library("rstantools")
rstan_create_package(path = 'rPBK')

See further information here rstantools

Dev info

Use this to add a new dependency

usethis::use_package("ggplot2")
usethis::use_package("testthat")

Additional dependencies used in the Vignette

usethis::use_package("loo", "Suggests")

Use this to add a data to be used in the package

usethis::use_data(dataCompartment4)
usethis::use_data(dataMaleGammarusSingle)

Use this to add a test function. ADD A TEST FILE TO EVERY NEW R FILE!

usethis::use_test("data.R")
usethis::use_test("dataPBK.R")
usethis::use_test("fitPBK.R")
usethis::use_test("plotFIT.R")
usethis::use_test("plotPPC.R")
usethis::use_test("predictPBK.R")

Add vignette

usethis::use_vignette("Examples")

remove files from building

usethis::use_build_ignore("[.]so", escape = FALSE)
usethis::use_build_ignore("[.]o", escape = FALSE)

Rstudio

Before ‘Documentation’ and ‘Clear and Rebuild’ and within ‘Configure Build Tools…’ untick ‘use devtools package function if available’. Keep ‘Generate Configuration with Roxygen’

little hack

A lighter package build

To make the package lighter, we have to remove the vignettes: see file .Rbuildignore

Error to recompile during package dev

Sometimes, there is an Error to recompile during development after change of .stan files. A solution is to remove the rPBK folder in R repository of the win-library (see the path written in the error message).

An other solution is to build the package from the terminal using R CMD -preclean INSTALL rPBK from parent directory of rPBK.

Dev tools

Dev In Docker

Roxygen for the documentation

example(source) # defines the sourceDir() function
try(roxygen2::roxygenize(load_code = sourceDir), silent = TRUE)
roxygen2::roxygenize()

Build

pkgbuild::compile_dll() # to preform a fake R CMD install
roxygen2::roxygenize() # to update the documentation
devtools::install() 

Test and Check the package

devtools::test() 
devtools::check() 

then to build the package:

 devtools::build()

If the archive produce (rPBK_X.Y.Z.tar.gz) is in the workspace of the container (outside RPBK), then move the archive:

mv rPBK_X.Y.Z.tar.gz rPBK

Check as CRAN

R CMD check --as-cran

or from command line, but not working very well to be send to CRAN:

R CMD INSTALL --preclean --no-configure --build .
R CMD INSTALL --preclean --build .