Function-oriented Make-like declarative workflows for R
See the code
Pipeline tools coordinate the pieces of computationally demanding
analysis projects. The targets package is a Make-like pipeline tool
for statistics and data science in R. The package skips costly runtime
for tasks that are already up to date, orchestrates the necessary
computation with implicit parallel computing, and abstracts files as R
objects. If all the current output matches the current upstream code and
data, then the whole pipeline is up to date, and the results are more
trustworthy than otherwise.
A pipeline is a computational workflow that does statistics, analytics,
or data science. Examples include forecasting customer behavior,
simulating a clinical trial, and detecting differential expression from
genomics data. A pipeline contains tasks to prepare datasets, run
models, and summarize results for a business deliverable or research
paper. The methods behind these tasks are user-defined R functions that
live in R scripts, ideally in a folder called "R/" in the project. The
tasks themselves are called “targets”, and they run the functions and
return R objects. The targets package orchestrates the targets and
stores the output objects to make your pipeline efficient, painless, and
reproducible.
If you are using targets with crew for distributed
computing, it is
recommended to use crew version 0.4.0 or higher.
install.packages("crew")
There are multiple ways to install the targets package itself, and
both the latest release and the development version are available.
| Type | Source | Command |
|---|---|---|
| Release | CRAN | install.packages("targets") |
| Development | GitHub | pak::pkg_install("ropensci/targets") |
| Development | rOpenSci | install.packages("targets", repos = "https://dev.ropensci.org") |
The 4-minute video at https://vimeo.com/700982360 demonstrates the example pipeline used in the walkthrough and functions chapters of the user manual. Visit https://github.com/wlandau/targets-four-minutes for the code and https://rstudio.cloud/project/3946303 to try out the code in a browser (no download or installation required).
To create a pipeline of your own:
"R/" folder of
your project).use_targets()
to write key files, including the vital _targets.R file which
configures and defines the pipeline._targets.R to fill in the details of your
specific pipeline.tar_visnetwork(),
run it with
tar_make(),
and read output with
tar_read().
More
functions
are available.targets. The most important chapters are
the
walkthrough,
help guide, and
debugging guide.targets.Please read the help
guide to learn how best
to ask for help using targets.
targets in 4 minutes
(4:08)targets. useR! 2025
Conference
(1:00:25).targets in Action
with Joel Nitta and Eric
Scott. rOpenSci Community
Call (1:09:56).targets and crew for clinical trial simulation
pipelines.
R/Pharma 2023 (1:57:22).targets and stantargets for Bayesian model validation
pipelines. R/Medicine 2021 (15:33)targets New York Open Statistical
Programming Meetup, December 2020 (1:54:28).stantargets to validate a Bayesian
longitudinal model for clinical trial data
analysistar_watch():
a built-in Shiny app to visualize progress while a pipeline is
running. Available as a Shiny module via
tar_watch_ui()
and
tar_watch_server().targetsketch: a Shiny
app to help sketch pipelines
(app,
source).tar_github_actions()
sets up a pipeline to run on GitHub Actions. The minimal
example demonstrates this
approach.targets. These
packages simplify
pipeline construction for specific fields of Statistics and data
science.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},
}
197 followers · starred Jun 2021
303 followers · starred Sep 2023
47 followers · starred Feb 2026
423 followers · starred Jul 2021
Function-oriented Make-like declarative workflows for R
See the code
Pipeline tools coordinate the pieces of computationally demanding
analysis projects. The targets package is a Make-like pipeline tool
for statistics and data science in R. The package skips costly runtime
for tasks that are already up to date, orchestrates the necessary
computation with implicit parallel computing, and abstracts files as R
objects. If all the current output matches the current upstream code and
data, then the whole pipeline is up to date, and the results are more
trustworthy than otherwise.
A pipeline is a computational workflow that does statistics, analytics,
or data science. Examples include forecasting customer behavior,
simulating a clinical trial, and detecting differential expression from
genomics data. A pipeline contains tasks to prepare datasets, run
models, and summarize results for a business deliverable or research
paper. The methods behind these tasks are user-defined R functions that
live in R scripts, ideally in a folder called "R/" in the project. The
tasks themselves are called “targets”, and they run the functions and
return R objects. The targets package orchestrates the targets and
stores the output objects to make your pipeline efficient, painless, and
reproducible.
If you are using targets with crew for distributed
computing, it is
recommended to use crew version 0.4.0 or higher.
install.packages("crew")
There are multiple ways to install the targets package itself, and
both the latest release and the development version are available.
| Type | Source | Command |
|---|---|---|
| Release | CRAN | install.packages("targets") |
| Development | GitHub | pak::pkg_install("ropensci/targets") |
| Development | rOpenSci | install.packages("targets", repos = "https://dev.ropensci.org") |
The 4-minute video at https://vimeo.com/700982360 demonstrates the example pipeline used in the walkthrough and functions chapters of the user manual. Visit https://github.com/wlandau/targets-four-minutes for the code and https://rstudio.cloud/project/3946303 to try out the code in a browser (no download or installation required).
To create a pipeline of your own:
"R/" folder of
your project).use_targets()
to write key files, including the vital _targets.R file which
configures and defines the pipeline._targets.R to fill in the details of your
specific pipeline.tar_visnetwork(),
run it with
tar_make(),
and read output with
tar_read().
More
functions
are available.targets. The most important chapters are
the
walkthrough,
help guide, and
debugging guide.targets.Please read the help
guide to learn how best
to ask for help using targets.
targets in 4 minutes
(4:08)targets. useR! 2025
Conference
(1:00:25).targets in Action
with Joel Nitta and Eric
Scott. rOpenSci Community
Call (1:09:56).targets and crew for clinical trial simulation
pipelines.
R/Pharma 2023 (1:57:22).targets and stantargets for Bayesian model validation
pipelines. R/Medicine 2021 (15:33)targets New York Open Statistical
Programming Meetup, December 2020 (1:54:28).stantargets to validate a Bayesian
longitudinal model for clinical trial data
analysistar_watch():
a built-in Shiny app to visualize progress while a pipeline is
running. Available as a Shiny module via
tar_watch_ui()
and
tar_watch_server().targetsketch: a Shiny
app to help sketch pipelines
(app,
source).tar_github_actions()
sets up a pipeline to run on GitHub Actions. The minimal
example demonstrates this
approach.targets. These
packages simplify
pipeline construction for specific fields of Statistics and data
science.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},
}
197 followers · starred Jun 2021
303 followers · starred Sep 2023
47 followers · starred Feb 2026
423 followers · starred Jul 2021