【发布时间】:2021-10-02 18:24:03
【问题描述】:
我正在尝试使用 tidymodels 在 R 中运行多项逻辑回归,但我无法将结果转换为整洁的对象。这是使用 iris 数据集的示例。
# Multinomial -----------------------------------------------------------------
# recipe
multinom_recipe <-
recipe(Species ~ Sepal.Length + Sepal.Width + Sepal.Length + Petal.Width, data = iris) %>%
step_relevel(Species, ref_level = "setosa")
# model
multinom_model <- multinom_reg() %>%
set_engine("nnet")
# make workflow
multinom_wf <-
workflow() %>%
add_model(multinom_model) %>%
add_recipe(multinom_recipe) %>%
fit(data = iris) %>%
tidy()
multinom_wf
最后一步抛出如下错误:
Error in eval(predvars, data, env) : object '..y' not found
我认为这是因为 fit(data = iris) 的输出是一个工作流对象,但是当我不使用 workflow(这是使用 tidymodels 的全部意义)或者如果我拟合了一个线性模型。
# recipe
linear_recipe <-
recipe(Sepal.Length ~ Sepal.Width + Sepal.Length + Petal.Width, data = iris)
# model
linear_model <- linear_reg() %>%
set_engine("lm")
# make workflow
linear_wf <-
workflow() %>%
add_model(linear_model) %>%
add_recipe(linear_recipe) %>%
fit(data = iris) %>%
tidy()
linear_wf
有人知道我缺少什么或者这是一个错误吗?
【问题讨论】:
标签: r tidyverse multinomial tidymodels