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' ..),請測試你自己的代碼... –