【问题标题】:Error in TukeyHSD post hoc test in RR中的TukeyHSD事后测试错误
【发布时间】:2016-08-30 14:45:12
【问题描述】:

我正在尝试在 anova 上运行 TukeyHSD 并不断收到此错误消息: UseMethod("TukeyHSD") 中的错误: 没有适用于“c('anova', 'data.frame')”类对象的“TukeyHSD”方法

谁能告诉我这条消息是什么意思? 我对 R 很陌生,所以任何帮助都将不胜感激!谢谢!

产生此错误的脚本:

a <- data.frame(list(rep(1,100),rnorm(100,50)))
colnames(a) <- c("ID","FeretMinimum")

b <- data.frame(list(rep(2,100),rnorm(100,50)))
colnames(b) <- c("ID","FeretMinimum")

c <- data.frame(list(rep(3,100),rnorm(100,50)))
colnames(c) <- c("ID","FeretMinimum")

d <- data.frame(list(rep(4,100),rnorm(100,50)))
colnames(d) <- c("ID","FeretMinimum")

ColumnFilter = "FeretMinimum"
IDFilter = "ID"

groups <- rbind(a, b ,c ,d)

group.1 <- lm(groups[[ColumnFilter]]~groups[[IDFilter]], data=groups) 

aov<- anova(group.1) 
print(aov)

posthoc <- TukeyHSD(x=aov, as.factor(groups[[ColumnFilter]]), conf.level=0.95)

【问题讨论】:

  • 您应该阅读文档:aov &lt;- aov(group.1),但您当然需要 RHS 上的 factor 变量。

标签: r


【解决方案1】:

错误消息说明了一切。阅读帮助页面。该函数需要 aov-fit 对象而不是 anova 对象。

aov.fit1 <- aov(FeretMinimum ~ factor(ID), data=groups)
posthoc <- TukeyHSD(x=aov.fit1, conf.level=0.95)
posthoc

#----------
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = FeretMinimum ~ factor(ID), data = groups)

$`factor(ID)`
            diff        lwr       upr     p adj
2-1 -0.139461021 -0.4988176 0.2198956 0.7487518
3-1 -0.125291199 -0.4846478 0.2340654 0.8050820
4-1 -0.138264399 -0.4976210 0.2210922 0.7537054
3-2  0.014169822 -0.3451868 0.3735264 0.9996226
4-2  0.001196622 -0.3581600 0.3605532 0.9999998
4-3 -0.012973200 -0.3723298 0.3463834 0.9997102

【讨论】:

    猜你喜欢
    • 2013-07-06
    • 1970-01-01
    • 2019-09-28
    • 2013-05-05
    • 1970-01-01
    • 2017-07-05
    • 1970-01-01
    • 2016-11-21
    • 2016-04-12
    相关资源
    最近更新 更多