Skip to content


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?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


R-CMD-check Codecov test coverage CRAN_Status_Badge Downloads lifecycle


tidymodels is a “meta-package” for modeling and statistical analysis that shares the underlying design philosophy, grammar, and data structures of the tidyverse.

It includes a core set of packages that are loaded on startup:

  • broom takes the messy output of built-in functions in R, such as lm, nls, or t.test, and turns them into tidy data frames.

  • dials has tools to create and manage values of tuning parameters.

  • dplyr contains a grammar for data manipulation.

  • ggplot2 implements a grammar of graphics.

  • infer is a modern approach to statistical inference.

  • parsnip is a tidy, unified interface to creating models.

  • purrr is a functional programming toolkit.

  • recipes is a general data preprocessor with a modern interface. It can create model matrices that incorporate feature engineering, imputation, and other help tools.

  • rsample has infrastructure for resampling data so that models can be assessed and empirically validated.

  • tibble has a modern re-imagining of the data frame.

  • tune contains the functions to optimize model hyper-parameters.

  • workflows has methods to combine pre-processing steps and models into a single object.

  • yardstick contains tools for evaluating models (e.g. accuracy, RMSE, etc.).

A list of all tidymodels functions across different CRAN packages can be found at

You can install the released version of tidymodels from CRAN with:


Install the development version from GitHub with:

# install.packages("pak")

When loading the package, the versions and conflicts are listed:

#> ── Attaching packages ───────────────────────────────── tidymodels ──
#> ✔ broom        1.0.4     ✔ recipes      1.0.6
#> ✔ dials        1.2.0     ✔ rsample      1.1.1
#> ✔ dplyr        1.1.2     ✔ tibble       3.2.1
#> ✔ ggplot2      3.4.2     ✔ tidyr        1.3.0
#> ✔ infer        1.0.4     ✔ tune         1.1.1
#> ✔ modeldata    1.1.0     ✔ workflows    1.1.3
#> ✔ parsnip      1.1.0     ✔ workflowsets 1.0.1
#> ✔ purrr        1.0.1     ✔ yardstick    1.2.0
#> ── Conflicts ───────────────────────────────────────── tidymodels_conflicts() ──
#> ✖ purrr::discard() masks scales::discard()
#> ✖ dplyr::filter()  masks stats::filter()
#> ✖ dplyr::lag()     masks stats::lag()
#> ✖ recipes::step()  masks stats::step()
#> • Search for functions across packages at


This project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.