0
我有一个称为数据的数据帧。我创建了一个循环遍历变量列表的函数,并使用lapply为每个变量创建一个线性模型。此方法基于this后。循环通过R中的几个事后测试
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"
我缺少什么,使这项工作?
可以使用'dput(数据)提供一些数据'。 – Jimbou
是的,所以我不太愿意在这里上传自己的数据,所以我改变了我的帖子以包含来自R的示例数据集.dput(testDF)的输出发布在这里:https://codedump.io/share/ TKO5BlEbPgSF/1 –
Guy,你的代码有更多的问题='varList'定义和'varList'使用,'Anova'不存在('A' ..),请测试你自己的代码... –