knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "man/figures/README-", out.width = "100%" )
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 | remotes::install_github("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
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")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.