Repair a model call objectSource:
When the user passes a formula to
fit() and the underlying model function
uses a formula, the call object produced by
fit() may not be usable by
other functions. For example, some arguments may still be quosures and the
data portion of the call will not correspond to the original data.
parsnipmodel. An error will occur if the underlying model does not have a
A data object that is relevant to the call. In most cases, this is the data frame that was given to
parsnipfor the model fit (i.e., the training set data). The name of this data object is inserted into the call.
repair_call() call can adjust the model objects call to be usable by other
functions and methods.
fitted_model <- linear_reg() %>% set_engine("lm", model = TRUE) %>% fit(mpg ~ ., data = mtcars) # In this call, note that `data` is not `mtcars` and the `model = ~TRUE` # indicates that the `model` argument is an `rlang` quosure. fitted_model$fit$call #> stats::lm(formula = mpg ~ ., data = data, model = ~TRUE) # All better: repair_call(fitted_model, mtcars)$fit$call #> stats::lm(formula = mpg ~ ., data = mtcars, model = TRUE)