Error: No tidy method for objects of class function :: broom.mixed

Error: No tidy method for objects of class function :: broom.mixed

我正在尝试使用 tidymodelsparsnip 执行线性回归拟合,但遇到以下错误:

Error: No tidy method for objects of class function

例程:

library(tidymodels)
library(parsnip)
library(broom.mixed)

linear_reg() %>% 
  set_engine("lm") %>% 
  fit(formula = cnt ~ temp_raw, data = bikeshare)
fit %>% tidy()
fit %>% glance()

已阅读本文post

我尝试了 broom.mixed 但错误仍然存​​在。

主要问题是您需要将拟合模型分配给一个对象;在您的情况下,它也将是 fit.

还有两点需要考虑:

  • 分配与 R 函数同名的变量是 confusing/not 最佳实践(即您可能希望调用适合的变量 fit0my_fit 或其他名称而不是 fit);通常你可以摆脱它,但在某些情况下它会令人困惑地中断
  • broom.mixed 是一个转移注意力的问题。 broom 包实际上用于 lm 适合(你不需要加载它,显然 tidymodels 会自动加载它(和 parsnip)...)
library(tidymodels)
fit <- linear_reg()  %>%  
    set_engine("lm") %>%  
    fit(formula = mpg ~ cyl, data = mtcars)
fit %>% tidy()
fit %>% glance()