我在 R 中进行了单向方差分析,但是当我尝试执行 Tukey post-hoc 以查看哪些处理彼此不同时,我不断收到错误消息。(我希望对结果进行排名(a,ab,b,bcd ...等)
数据详情:
数据=“abh2”
x = 6 次治疗:“治疗”
y = 水分读数“潮湿”(每次处理 n = 63,总计 = 378)
我运行了单向方差分析:
anov <- anova(lm(moist~treatment, data=abh2))
.# RESULTS 表明我可以转移到事后(p<0.05):
Analysis of Variance Table
Response: moist
Df Sum Sq Mean Sq F value Pr(>F)
treatment 5 1706.3 341.27 25.911 < 2.2e-16 ***
我选择了Tukey HSD并尝试使用 2 种方法运行它,但都收到了错误消息:
内置 R 函数:
TukeyHSD(anov)
# ERROR : no applicable method for 'TukeyHSD' applied to an object of class "c('anova', 'data.frame')"
农用包装:
HSD.test(anov, "treatment", group=TRUE, console=TRUE)
# ERROR : Error in HSD.test(anov, "treatment", group = TRUE, console = TRUE) :
argument "MSerror" is missing, with no default
我发现 MSerror 是
1)一个“# Old version HSD.test()”(但我刚刚更新了agricolae包)
2) MSerror<-deviance(model)/df
所以我尝试了:
HSD.test(anov, "treatment", MSerror=deviance(moist)/5, group=TRUE, console=TRUE)
*but still* # ERROR: $ operator is invalid for atomic vectors
谁能帮我从这里继续前进?这似乎是一个非常简单的问题,但我已经花了几个小时来解决这个问题!
非常感谢 :)