我有一个用by
创建的回归模型。我知道我可以使用sapply
为每个因素提取模型的特定部分,但如果我想要整个summary
,anova
等等,会怎样?
model <- with(data, by(data, factor, function(data) lm(y ~ x, data=data)))
答案 0 :(得分:1)
sapply
会将summary.lm
和anova.lm
的结果强制转换为矩阵。我想你可能想要使用lapply
,它在summary
生成的列表中的每个元素上应用一个函数(此处为by
),并返回一个列表。
models <- by(warpbreaks, warpbreaks$tension, function(x){
lm(breaks ~ wool, data = x)
})
lapply(models, summary)