我正在尝试理解 tidymodels,但遇到了一个问题,我的配方不允许交互效果并返回错误。我使用的代码是这样的:
library(tidyverse)
library(ISLR)
data("Auto")
library(tidymodels)
auto_data <- initial_split(Auto, strata = origin)
auto_train <- training(auto_data)
auto_test <- testing(auto_data)
recipe <- recipe(mpg ~ horsepower * origin, data = auto_train)
我得到的错误是:Error in
inline_check()
:
!这里不应使用内联函数;使用步骤来定义烘焙 行动。运行
查看错误发生的位置。rlang::last_trace()
为什么菜谱不允许我使用交互效果?当我这样做时,我没有收到这样的错误:
recipe <- recipe(mpg ~ horsepower + origin, data = auto_train)
来自公式参数
?recipe
的文档:
模型公式。这里不应使用内联函数(例如 log(x)、x:y 等)和减号是不允许的。这些类型的 应使用此中的阶跃函数来执行转换 包裹。允许使用点,就像简单的多元结果项一样 (即不需要 cbind;请参阅示例)。模型公式可能不是 具有许多列的高维数据的最佳选择,因为 记忆力有问题。
换句话说,目的是让您明确指定与指定的
step_interaction
的交互,而不是在公式中。