为什么当我使用交互效果时,我的 Tidymodels 配方不起作用?

问题描述 投票:0回答:1

我正在尝试理解 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)
r rstudio tidymodels
1个回答
0
投票

来自公式参数

?recipe
的文档:

模型公式。这里不应使用内联函数(例如 log(x)、x:y 等)和减号是不允许的。这些类型的 应使用此中的阶跃函数来执行转换 包裹。允许使用点,就像简单的多元结果项一样 (即不需要 cbind;请参阅示例)。模型公式可能不是 具有许多列的高维数据的最佳选择,因为 记忆力有问题。

换句话说,目的是让您明确指定与指定的

step_interaction
的交互,而不是在公式中。

© www.soinside.com 2019 - 2024. All rights reserved.