问题描述
你好,我正在处理这些包
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”的方法应用于“list”类的对象
有谁知道我如何才能使这项工作顺利进行?
解决方法
Onyambu 是对的
这有效
do.call("anova",c(Poly.fits,test = "F"))
这也有效
invoke("anova",Poly.fits,test = "F")