做 do.call anova 不使用额外的参数

Doing do.call anova not working with extra arguments

您好,我正在使用这些包

library(tidyverse)
library(ISLR)
library(boot)

我创建了一个包含各种多项式模型的列表,我希望 运行 对所有模型一起进行方差分析。

df<- Wage
degrees <-  seq(1,5)
Poly.fits <-  vector("list", length(degrees))
for (d in degrees){
  Poly.fits[[d]]<- lm(wage ~ poly(age,d), data = df)
}

这个有效

do.call("anova", Poly.fits)

这也有效

anova(Poly.fits[[1]], Poly.fits[[2]],  Poly.fits[[3]],  Poly.fits[[4]],  Poly.fits[[5]], test = "F")

我想根据此处的多个参数 https://statisticsglobe.com/do-call-and-call-functions-in-r/ 来执行此操作

do.call("anova", list(Poly.fits, test = "F"))

但这不起作用并导致此错误

UseMethod("anova") 错误: 没有适用于 'anova' 的方法应用于 class“列表”

的对象

有谁知道我如何才能完成这项工作?

Onyambu 是正确的

这个有效

do.call("anova", c(Poly.fits, test = "F"))

这也有效

invoke("anova", Poly.fits, test = "F")