merge() can be used to easily update any of the arguments in a parsnip model or recipe.

# S3 method for recipe
merge(x, y, ...)

# S3 method for model_spec
merge(x, y, ...)

Arguments

x

A recipe or model specification object.

y

A data frame or a parameter grid resulting from one of the grid_* functions. The column names should correspond to the parameter names (or their annotations) in the object.

...

Not used but required for S3 completeness.

Value

A tibble with a column x that has as many rows as were in y.

Examples

# \donttest{ library(tibble) library(recipes) pca_rec <- recipe(mpg ~ ., data = mtcars) %>% step_knnimpute(all_predictors(), neighbors = tune()) %>% step_pca(all_predictors(), num_comp = tune()) pca_grid <- tribble( ~neighbors, ~num_comp, 1, 1, 5, 1, 1, 2, 5, 2 ) merge(pca_rec, pca_grid)
#> # A tibble: 4 x 1 #> x #> <list> #> 1 <recipe> #> 2 <recipe> #> 3 <recipe> #> 4 <recipe>
spline_rec <- recipe(mpg ~ ., data = mtcars) %>% step_ns(disp, deg_free = tune("disp df")) %>% step_ns(wt, deg_free = tune("wt df")) spline_grid <- tribble( ~"disp df", ~ "wt df", 3, 3, 5, 3, 3, 5, 5, 5 ) merge(pca_rec, pca_grid)
#> # A tibble: 4 x 1 #> x #> <list> #> 1 <recipe> #> 2 <recipe> #> 3 <recipe> #> 4 <recipe>
library(parsnip) library(dials)
#> Loading required package: scales
#> #> Attaching package: ‘scales’
#> The following object is masked from ‘package:purrr’: #> #> discard
#> #> Attaching package: ‘dials’
#> The following object is masked from ‘package:ggplot2’: #> #> margin
xgb_mod <- boost_tree(trees = tune(), min_n = tune()) %>% set_engine("xgboost") set.seed(254) xgb_grid <- dials::parameters(xgb_mod) %>% finalize(iris) %>% grid_max_entropy(size = 3) merge(xgb_mod, xgb_grid)
#> # A tibble: 3 x 1 #> x #> * <list> #> 1 <spec[?]> #> 2 <spec[?]> #> 3 <spec[?]>
# }