【问题标题】:R : TUKEY following one-way ANOVAR : TUKEY 跟随单向方差分析
【发布时间】:2017-02-02 22:07:23
【问题描述】:

我在 R 中进行了单向方差分析,但是当我尝试执行 Tukey 事后分析以查看哪些处理彼此不同时,我不断收到错误消息。 (我希望对结果进行排名(a、ab、b、bcd...等)

数据详情:

数据 = "abh2"

x = 6 次治疗:“治疗”

y= 水分读数“潮湿”(每次处理 n=63,总计 =378)

我运行了单向方差分析:

anov <- anova(lm(moist~treatment, data=abh2))

.# RESULTS 表明我可以转移到事后 (p

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')"

Agricolae 包装:

    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

所以我尝试了:

HSD.test(anov, "treatment", MSerror=deviance(moist)/5, group=TRUE, console=TRUE)
 *but still* # ERROR: $ operator is invalid for atomic vectors

谁能帮我从这里继续前进?这似乎是一个非常简单的问题,但我已经花了几个小时来解决这个问题!

非常感谢:)

【问题讨论】:

    标签: r package anova tukey


    【解决方案1】:

    尝试使用以下代码将您的治疗指定为一个因素:

    abh2$treatment &lt;- factor(abh2$treatment)

    【讨论】:

      【解决方案2】:

      感谢 Annie-Claude 的反馈,这让我走上了正确的道路,即 R 没有按照应有的方式识别数据。

      我用这段代码解决了这个问题:

      library(agricolae)
      
      model<-aov(moist~treatment, data=abh2)
      
      out <- HSD.test(model,"treatment", group=TRUE,console=TRUE)
      

      看来,我最初使用的 ANOVA 命令(来自 R 基础包)根本无法被我后来尝试执行的 Tukey 测试(使用 agricolae 包)理解。

      给我的重要信息:尝试在同一个包中进行相关的一系列分析!

      附言要获得 p 值:

      summary(model)
      

      它们可以像这样转换为数据框:

      as.data.frame(摘要(模型)[[1]])

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-09-08
        • 2021-12-15
        • 1970-01-01
        • 2017-12-03
        • 1970-01-01
        • 2013-04-09
        • 2014-11-29
        • 1970-01-01
        相关资源
        最近更新 更多