add_variables {workflows} | R Documentation |
Add variables to a workflow
Description
-
add_variables()
specifies the terms of the model through the usage of tidyselect::select_helpers for theoutcomes
andpredictors
. -
remove_variables()
removes the variables. Additionally, if the model has already been fit, then the fit is removed. -
update_variables()
first removes the variables, then replaces the previous variables with the new ones. Any model that has already been fit based on the original variables will need to be refit. -
workflow_variables()
bundlesoutcomes
andpredictors
into a single variables object, which can be supplied toadd_variables()
.
Usage
add_variables(x, outcomes, predictors, ..., blueprint = NULL, variables = NULL)
remove_variables(x)
update_variables(
x,
outcomes,
predictors,
...,
blueprint = NULL,
variables = NULL
)
workflow_variables(outcomes, predictors)
Arguments
x |
A workflow |
outcomes , predictors |
Tidyselect expressions specifying the terms
of the model. |
... |
Not used. |
blueprint |
A hardhat blueprint used for fine tuning the preprocessing. If Note that preprocessing done here is separate from preprocessing that might be done by the underlying model. |
variables |
An alternative specification of
|
Details
To fit a workflow, exactly one of add_formula()
, add_recipe()
, or
add_variables()
must be specified.
Value
-
add_variables()
returnsx
with a new variables preprocessor. -
remove_variables()
returnsx
after resetting any model fit and removing the variables preprocessor. -
update_variables()
returnsx
after removing the variables preprocessor, and then re-specifying it with new variables. -
workflow_variables()
returns a 'workflow_variables' object containing both theoutcomes
andpredictors
.
Examples
library(parsnip)
spec_lm <- linear_reg()
spec_lm <- set_engine(spec_lm, "lm")
workflow <- workflow()
workflow <- add_model(workflow, spec_lm)
# Add terms with tidyselect expressions.
# Outcomes are specified before predictors.
workflow1 <- add_variables(
workflow,
outcomes = mpg,
predictors = c(cyl, disp)
)
workflow1 <- fit(workflow1, mtcars)
workflow1
# Removing the variables of a fit workflow will also remove the model
remove_variables(workflow1)
# Variables can also be updated
update_variables(workflow1, mpg, starts_with("d"))
# The `outcomes` are removed before the `predictors` expression
# is evaluated. This allows you to easily specify the predictors
# as "everything except the outcomes".
workflow2 <- add_variables(workflow, mpg, everything())
workflow2 <- fit(workflow2, mtcars)
extract_mold(workflow2)$predictors
# Variables can also be added from the result of a call to
# `workflow_variables()`, which creates a standalone variables object
variables <- workflow_variables(mpg, c(cyl, disp))
workflow3 <- add_variables(workflow, variables = variables)
fit(workflow3, mtcars)