/targets

Function-oriented Make-like declarative workflows for R

Primary LanguageROtherNOASSERTION

targets

ropensci JOSS zenodo R Targetopia cran status check codecov lint

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.

Prerequisites

  1. Familiarity with the R programming language, covered in R for Data Science.
  2. Data science workflow management techniques.
  3. How to write functions to prepare data, analyze data, and summarize results in data analysis projects.

How to get started

  1. Watch minutes 6 through 40 of the New York Open Statistical Programming Meetup from December 2020.
  2. Read the short walkthrough chapter of the user manual.
  3. Sign up for a free RStudio Cloud account and click here to open the walkthrough code. Experiment with functions tar_make() and tar_read().
  4. Log into the cloud workspace of the official targets short course. Work through the exercises in R notebooks 1-functions.Rmd, 2-pipelines.Rmd, and 3-changes.Rmd.
  5. Try out one of the other example projects linked from the reference website.

Installation

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")

Recorded talks

Documentation

  • 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.

Courses

Example projects

Apps

The R Targetopia

The R Targetopia consists of specialized workflow frameworks tailored to individual fields of Statistics and data science, and they use domain knowledge to abstract away most of the careful planning and engineering typically required to write pipelines. They leverage the full power of targets while requiring minimal expertise with targets itself. Examples include stantargets and tarchetypes.

Help

Code of conduct

Please note that this package is released with a Contributor Code of Conduct.

Citation

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},
#>   }