Preprocessing and Feature Engineering Steps for Modeling
Overview
A recipe prepares your data for modeling. We provide an extensible framework for pipeable sequences of feature engineering steps provides preprocessing tools to be applied to data. Statistical parameters for the steps can be estimated from an initial data set and then applied to other data sets. The resulting processed output can then be used as inputs for statistical or machine learning models.
Improvements
bake()gained astop_atargument, which takes a step number or step id and applies only the steps up to and including that step. This is useful for diagnostics such as visualizing the effect of each step. (#1551)- The following steps are now dramatically faster when baking data with many columns, as they no longer copy the whole data set once per column:
check_new_values(),check_range(),step_bin2factor(),step_BoxCox(),step_bs(),step_center(),step_cut(),step_discretize(),step_dummy(),step_factor2string(),step_harmonic(),step_holiday(),step_hyperbolic(),step_impute_bag(),step_impute_knn(),step_impute_linear(),step_impute_lower(),step_impute_mean(),step_impute_median(),step_impute_mode(),step_impute_roll(),step_integer(),step_inverse(),step_invlogit(),step_lag(),step_log(),step_logit(),step_normalize(),step_novel(),step_ns(),step_num2factor(),step_ordinalscore(),step_other(),step_percentile(),step_range(),step_relevel(),step_scale(),step_shuffle(),step_sqrt(),step_string2factor(),step_unknown(),step_unorder(),step_window(), andstep_YeoJohnson(). (#1543) prep()is now faster on recipes with many columns or many steps. (#1543)step_count()andstep_regex()now accepts selectors that resolve to more than one column. When more than one column is selected, the new columns are named{column}_{result}. (#1384)
Bug Fixes
step_impute_bag(),step_impute_knn(), andstep_impute_linear()no longer error with "C stack usage is too close to the limit" when the data contains a survival outcome column. (#1517, #1542)step_num2factor()no longer errors when more than one column is selected. (#1543)
Developer
- New
recipes_map_cols()helper for use inbake()methods of steps that transform columns in place. It applies a function to the selected columns and assigns the results in bulk, avoiding the quadratic cost of assigning one column at a time. (#1543)
From NEWS.md in the release
Install
Health
- OK13 OK2026-10-17
- ERROR11 OK, 1 WARNING, 1 ERROR2026-10-15
- WARNING12 OK, 1 WARNING2026-10-01
- OK13 OK2026-08-26
- NOTE11 OK, 2 NOTE2026-07-16
Show 6 earlier changesHide 6 earlier changes
- OK13 OK2026-06-19
- WARNING12 OK, 1 WARNING2026-06-17
- OK13 OK2026-06-09
- ERROR12 OK, 1 ERROR2026-06-07
- OK14 OK2026-04-08
- WARNING13 OK, 1 WARNING2026-03-10
Documentation
The repository also keeps web-only articles.
- Help pages
- 155 (33 internal)includes a package overview page
- Examples that run
- 99%116 run in a plain check (79 of them under a condition) · 1 never run
- Exported functions with examples
- 78%
- Documented parameters
- 90%
- Return-value docs
- 86%
- Help pages citing references
- 12%
Downloads
Repository
- PRs merged (all time)
- 94%
- Median days to close, 50 most recently updated closed issues
- 222
- Median days to close, 50 most recently updated closed PRs
- 1
Stars over time
Forks over time
Releases over time
Issues over time
PRs over time
Commits over time
Commit identities over time
17 development-tooling and community-health practices detected across 7 families in the upstream repository
Checks run against github.com/tidymodels/recipes on 2026-10-11.
The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel
GitHub Pages site last deployed 2026-09-17 · The repository has a site deploy workflow
pkgdown site last built 2026-08-24
Show all practicesHide 3 practices
This repository shows signs of AI coding tools.
- Claude Codefirst seen 2026-03-31Seen in the repository: .claude, .claude/skillsNamed in .Rbuildignore: .claude
Dependencies
Installing recipes adds 53 packages (27 with compiled code, 43 MB of source tarballs). Heaviest: stringi 11 MB, ggplot2 6.0 MB, data.table 5.7 MB.
Show the 48 most downloaded dependentsHide the 48 most downloaded dependents
and 4 more dependents and 54 packages that suggest it on CRAN ↗
Code & Tests
People & History
Pick two releases to compare their code metrics.
- 1.4.0Latest
- 1.3.32026-05-30 · diff ↗
- RR 4.6.0 released · 2026-04-24
- 1.3.22026-04-02 · diff ↗
- 1.3.12025-05-21 · diff ↗
- 1.3.0
- RR 4.5.0 released · 2025-04-11
- 1.2.12025-03-25 · diff ↗
- 1.2.0
- 1.1.1
- 1.1.02024-07-04 · diff ↗ ·
added 5 exports
extract_fit_time, recipes_names_outcomes, recipes_names_predictors, recipes_ptype, recipes_ptype_validate - RR 4.4.0 released · 2024-04-24
- 1.0.102024-02-18 · diff ↗
- 1.0.92023-12-13 · diff ↗
- 1.0.82023-08-26 · diff ↗
- 1.0.72023-08-11 · diff ↗ ·
added 3 exports
recipes_remove_cols, remove_original_cols, step_classdist_shrunken
Show 33 earlier eventsHide 33 earlier events
- 1.0.62023-04-25 · diff ↗
- RR 4.3.0 released · 2023-04-21
- 1.0.52023-02-20 · diff ↗
- 1.0.4
- 1.0.32022-11-09 · diff ↗ ·
added 19 exports
.get_data_types, all_date, all_date_predictors, all_datetime, all_datetime_predictors, all_double, all_double_predictors, all_factor, all_factor_predictors, all_integer, all_integer_predictors, all_logical, all_logical_predictors, all_ordered, all_ordered_predictors, all_string, all_string_predictors, all_unordered, all_unordered_predictors - 1.0.22022-10-16 · diff ↗ ·
added 6 exports
step_poly_bernstein, step_spline_b, step_spline_convex, step_spline_monotone, step_spline_natural, step_spline_nonnegative - 1.0.12022-07-08 · diff ↗
- 1.0.02022-07-01 · diff ↗ ·
removed 2 exports
step_downsample, step_upsampleadded 13 exports
are_weights_used, averages, check_new_data, correlations, covariances, frequency_weights, get_case_weights, importance_weights, medians, pca_wts, step_time, update_role_requirements, variances - RR 4.2.0 released · 2022-04-22
- 0.2.02022-02-19 · diff ↗ ·
added 9 exports
dummy_extract_names, extract_parameter_dials, extract_parameter_set_dials, print_step, step_dummy_extract, step_filter_missing, step_nnmf_sparse, step_percentile, tune_args - 0.1.17
- RR 4.1.0 released · 2021-05-18
- 0.1.162021-04-16 · diff ↗ ·
added 12 exports
all_nominal_predictors, all_numeric_predictors, get_keep_original_cols, step_impute_bag, step_impute_knn, step_impute_lower, step_impute_mean, step_impute_median, step_impute_mode, step_impute_roll, step_indicate_na, step_select - 0.1.152020-11-11 · diff ↗ ·
removed 32 exports
required_pkgs.step_depth, required_pkgs.step_ica, required_pkgs.step_isomap, required_pkgs.step_kpca, required_pkgs.step_kpca_poly, required_pkgs.step_kpca_rbf, required_pkgs.step_nnmf, required_pkgs.step_pls, required_pkgs.step_window, tunable.check, tunable.step, tunable.step_bagimpute, tunable.step_bs, tunable.step_corr, tunable.step_discretize, tunable.step_downsample, tunable.step_ica, tunable.step_isomap, tunable.step_knnimpute, tunable.step_kpca_poly, tunable.step_kpca_rbf, tunable.step_meanimpute, tunable.step_nnmf, tunable.step_ns, tunable.step_nzv, tunable.step_other, tunable.step_pca, tunable.step_pls, tunable.step_poly, tunable.step_rollimpute and 2 moreadded 3 exports
required_pkgs, tunable, update - 0.1.142020-10-17 · diff ↗ ·
added 10 exports
required_pkgs.step_depth, required_pkgs.step_ica, required_pkgs.step_isomap, required_pkgs.step_kpca, required_pkgs.step_kpca_poly, required_pkgs.step_kpca_rbf, required_pkgs.step_nnmf, required_pkgs.step_pls, required_pkgs.step_window, step_impute_linear - 0.1.13
- 0.1.122020-05-01 · diff ↗
- 0.1.11
- RR 4.0.0 released · 2020-04-24
- 0.1.10
- 0.1.9
- 0.1.8
- 0.1.72019-09-15 · diff ↗ ·
added 30 exports
check_new_values, format_ch_vec, format_selectors, step_kpca_poly, step_kpca_rbf, step_mutate_at, step_rename, step_rename_at, tunable.step, tunable.step_bagimpute, tunable.step_bs, tunable.step_corr, tunable.step_discretize, tunable.step_downsample, tunable.step_ica, tunable.step_isomap, tunable.step_knnimpute, tunable.step_kpca_poly, tunable.step_kpca_rbf, tunable.step_meanimpute, tunable.step_nnmf, tunable.step_ns, tunable.step_nzv, tunable.step_other, tunable.step_pca, tunable.step_pls, tunable.step_poly, tunable.step_rollimpute, tunable.step_upsample, tunable.step_window - 0.1.6
- RR 3.6.0 released · 2019-04-26
- 0.1.5
- 0.1.42018-11-19 · diff ↗ ·
added 15 exports
check_name, prepper, rand_id, recipes_pkg_check, step_arrange, step_filter, step_geodist, step_integer, step_medianimpute, step_mutate, step_nnmf, step_sample, step_slice, tidy, update_role - 0.1.32018-06-16 · diff ↗ ·
added 13 exports
check_range, check_type, detect_step, ellipse_check, fully_trained, is_trained, printer, sel2char, step_inverse, step_lag, step_naomit, step_pls, step_rollimpute - RR 3.5.0 released · 2018-04-23
- 0.1.22018-01-11 · diff ↗ ·
added 11 exports
add_check, check, check_cols, check_missing, fixed, prof, step_downsample, step_novel, step_num2factor, step_profile, step_upsample - 0.1.12017-11-20 · diff ↗ ·
added 9 exports
dummy_names, step_bs, step_count, step_factor2string, step_lowerimpute, step_relu, step_string2factor, step_unorder, step_zv - 0.1.02017-07-27
- RR 3.4.0 released · 2017-04-21
Package metadata
- First published
- 2017-07-27
- Total releases
- 39 / 9 yrs
- License
- MIT + file LICENSE OSI · relicensed from GPL-2 in 0.1.16
- Minimum R
- ≥ 4.1
- Download size
- 878 KB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("recipes")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-19, which the citation names so these numbers can be found later. More on citing and the projects behind them.