add_variables() for specifying model terms using tidyselect expressions with no extra preprocessing. For example:
wf <- workflow() %>% add_variables(y, c(var1, start_with("x_"))) %>% add_model(spec_lm)
One benefit of specifying terms in this way over the formula method is to avoid preprocessing from
model.matrix(), which might strip the class of your predictor columns (as it does with Date columns) (#34).
add_formula(), workflows now uses model-specific information from parsnip to decide whether to expand factors via dummy encoding (
n - 1levels), one-hot encoding (
nlevels), or no expansion at all. This should result in more intuitive behavior when working with models that don’t require dummy variables. For example, if a parsnip
rand_forest()model is used with a ranger engine, dummy variables will not be created, because ranger can handle factors directly (#51, #53).