我有一个名为 data 的数据框。我创建了一个循环遍历变量列表并使用 lapply 为每个变量创建线性模型的函数。这种方法基于这篇文章。
library(datasets)
testDF <- data.frame(Salaries)
#creates list of variables
varListTest <- names(testDF)[3:4]
#creates a model for each of the variables in question
model<- lapply(varListTest, function(x) {
lm(substitute(i~Rank, list(i = as.name(x))), data = testDF)})
#output model
lapply(model, summary)
这很好用。但是,我也想以相同的方式运行事后测试,通常我会通过运行:
TukeyHSD(model)
这显然在这个例子中不起作用,但我认为这会:
lapply(model, TukeyHSD)
但这会返回:
no applicable method for 'TukeyHSD' applied to an object of class "lm"
我缺少什么来完成这项工作?