Skip to content

ropensci/targets

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
R
May 25, 2023 10:41
March 12, 2023 21:38
man
May 22, 2023 09:46
May 23, 2023 09:04
December 30, 2022 14:52
December 3, 2021 21:59
August 15, 2022 10:17
June 20, 2022 11:04
December 30, 2022 15:01
May 23, 2023 09:29
March 7, 2021 23:12
March 7, 2021 23:12
April 27, 2023 11:38
May 12, 2023 12:46
May 22, 2023 13:44
January 11, 2022 11:35

targets

ropensci JOSS zenodo R Targetopia CRAN status check codecov lint

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.

Philosophy

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.

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 a data analysis project.

Installation

If you are using targets with crew for distributed computing, it is recommended to use nanonext version 0.8.3.9010 or higher, mirai version 0.8.7.9013 or higher, and crew version 0.2.0 or higher. If the latest CRAN releases are older, then you can install the development versions from R-universe.

install.packages("nanonext", repos = "https://shikokuchuo.r-universe.dev")
install.packages("mirai", repos = "https://shikokuchuo.r-universe.dev")
install.packages("crew", repos = "https://wlandau.r-universe.dev")

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

Get started in 4 minutes

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

Usage

To create a pipeline of your own:

  1. Write R functions for a pipeline and save them to R scripts (ideally in the "R/" folder of your project).
  2. Call use_targets() to write key files, including the vital _targets.R file which configures and defines the pipeline.
  3. Follow the comments in _targets.R to fill in the details of your specific pipeline.
  4. Check the pipeline with tar_visnetwork(), run it with tar_make(), and read output with tar_read(). More functions are available.

Documentation

Help

Please read the help guide to learn how best to ask for help using targets.

Courses

Recorded talks

English

Español

日本語

Example projects

Apps

Deployment

Extending and customizing targets

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