The targets
package is a
Make-like pipeline toolkit for
Statistics and data science in R. With targets
, you can maintain a
reproducible workflow without repeating yourself. targets
skips costly
runtime for tasks that are already up to date, runs the necessary
computation with implicit parallel computing, and abstracts files as R
objects. A fully up-to-date targets
pipeline is tangible evidence that
the output aligns with the code and data, which substantiates trust in
the results.
- Familiarity with the R programming language, covered in R for Data Science.
- Data science workflow management techniques.
- How to write functions to prepare data, analyze data, and summarize results in data analysis projects.
- Watch minutes 6 through 40 of the New York Open Statistical Programming Meetup from December 2020.
- Read the short walkthrough chapter of the user manual.
- Sign up for a free RStudio Cloud account
and click here to open the
walkthrough
code. Experiment with functions
tar_make()
andtar_read()
. - Log into the cloud
workspace of the official
targets
short course. Work through the exercises in R notebooks1-functions.Rmd
,2-pipelines.Rmd
, and3-changes.Rmd
. - Try out one of the other example projects linked from the reference website.
Type | Source | Command |
---|---|---|
Release | CRAN | install.packages("targets") |
Development | GitHub | remotes::install_github("ropensci/targets") |
Development | rOpenSci | install.packages("targets", repos = "https://dev.ropensci.org") |
- R/Medicine 2021 (15.33)
- R/Pharma 2020 (9:24)
- LA R Users Meetup, October 2020 (1:14:40)
- New York Open Statistical Programming Meetup, December 2020 (1:54:28)
- ds-incubator series, 2021
- Lille R User Group, June 2021 (45:54)
- User manual: in-depth
discussion about how to use
targets
. - Reference website: formal documentation of all user-side functions, the statement of need, and multiple design documents of the internal architecture.
- Developer
documentation: software
design documents for developers contributing to the deep internal
architecture of
targets
.
Description | Link |
---|---|
Minimal example | https://github.com/wlandau/targets-minimal |
Machine learning with Keras | https://github.com/wlandau/targets-keras |
Validating a minimal Stan model | https://github.com/wlandau/targets-stan |
Using Target Markdown and stantargets to validate a Bayesian longitudinal model for clinical trial data analysis |
https://github.com/wlandau/rmedicine2021-pipeline |
Shiny app that runs a pipeline | https://github.com/wlandau/targets-shiny |
Deploying a pipeline to RStudio Connect | https://github.com/sol-eng/targets-deployment-rsc |
tar_watch()
: a built-in Shiny app to visualize progress while a pipeline is running. Available as a Shiny module viatar_watch_ui()
andtar_watch_server()
.targetsketch
: a Shiny app to help sketch pipelines (app, source).
- https://solutions.rstudio.com/r/workflows/ explains how to deploy a pipeline to RStudio Connect (example code).
tar_github_actions()
sets up a pipeline to run on GitHub Actions. The minimal example demonstrates this approach.
- R Targetopia: a collection
of R packages
that extend
targets
. These packages simplify pipeline construction for specific fields of Statistics and data science. - Target factories: a programming technique to write specialized interfaces for custom pipelines. Posts here and here describe how.
- Post to the GitHub discussion
forum to ask
questions. To get the best help about a specific issue, create a
reproducible example with
targets::tar_reprex()
orreprex::reprex()
. - The RStudio Community forum is
full of friendly enthusiasts of R and the tidyverse. Use the
targets
tag. - Stack Overflow broadcasts to the
entire open source community. Use the
targets-r-package
tag.
Please note that this package is released with a Contributor Code of Conduct.
citation("targets")
#>
#> To cite targets in publications use:
#>
#> Landau, W. M., (2021). The targets R package: a dynamic Make-like
#> function-oriented pipeline toolkit for reproducibility and
#> high-performance computing. Journal of Open Source Software, 6(57),
#> 2959, https://doi.org/10.21105/joss.02959
#>
#> A BibTeX entry for LaTeX users is
#>
#> @Article{,
#> title = {The targets R package: a dynamic Make-like function-oriented pipeline toolkit for reproducibility and high-performance computing},
#> author = {William Michael Landau},
#> journal = {Journal of Open Source Software},
#> year = {2021},
#> volume = {6},
#> number = {57},
#> pages = {2959},
#> url = {https://doi.org/10.21105/joss.02959},
#> }