Packages

Confirmed members of the R Targetopia and future directions


targets is the core engine of the targetopia. It learns the components of your data analysis project, runs the work with distributed computing, and skips steps that are already up to date. It reduces the runtime of successive runs, and it shows tangible evidence that your results match the underlying code and data.


tarchetypes makes it easy to add certain kinds of common tasks to reproducible pipelines. Most of its functions create families of targets for parameterized R Markdown, simulation studies, and other general-purpose scenarios.


stantargets is a workflow framework for Bayesian data analysis with cmdstanr. With concise, easy-to-use syntax, it defines versatile families of targets tailored to Bayesian statistics, from a single MCMC run with postprocessing to large simulation studies.


Like stantargets, jagstargets is a workflow framework for Bayesian data analysis, with support for both single MCMC runs and large-scale simulation studies. It invokes JAGS through the R2jags package, which has nice features such as the ability to parallelize chains across local R processes.

nlmixr2targets
nlmixr2targets accommodates nlmixr2-powered pharmacometrics analysis workflows for reproducibility and minimal rework with changes to data.

brmstargets
brmstargets is an idea first proposed here. An implementation is planned, but no work has started. The goal is to accommodate brms-powered Bayesian data analysis workflows just as stantargets enhances cmdstanr.

geotargets
The geotargets package is a targets workflow framework for geospatial data, focusing on the integration between targets and geospatial storage formats. It currently supports raster and vector formats created by terra and is progressively adding support for sf, and stars. For example, tar_terra_rast() allows you to work with terra SpatRaster objects.

Other ideas
Following precedent of stantargets, it should be possible to extend the R Targetopia to more methodology packages whose users face intense computation, long runtimes, and rapid changes. Possibilities include greta, nimble, keras, torch, torchvision, tidymodels, mlr3, and nlmixr2. In addition, following this thread, there may be need for a literate-programming-focused package with target factories outside the scope of tarchetypes.