【问题标题】:R: 2-way Anova does not match with ez packageR: 2-way Anova 与 ez 包不匹配
【发布时间】:2015-08-03 18:53:21
【问题描述】:

我正在使用 ez 包,但我意识到结果有时与 anova 函数不匹配。我想知道我做错了什么。

options(contrasts=c("contr.sum","contr.poly")) 
datafilename="https://docs.google.com/spreadsheets/d/1PNHSBMUdPnB_mnP_WrcxYYiwCwN8KHL2Q57KoAoWdAY/pub?gid=0&single=true&output=csv"
data.ex2=read.csv(datafilename,header=1,stringsAsFactors=FALSE) 
data.ex2                                     
aov.ex2 = aov(value~Treat*Gender,data=data.ex2  )         
summary(aov.ex2)  

### testing the ez package now 

library(ez) 

A = ezANOVA(
  data = data.ex2
  , dv = value
  , wid = ID
  , between = .(Treat,Gender)
  ,return_aov=TRUE
  , type = 3
)

print (A$ANOVA)
  • 当我使用另一个网站上给出的示例时,结果完全匹配,所以我想知道我的表是否有问题。与此数据集匹配的示例。

    datafilename="http://personality-project.org/r/datasets/R.appendix2.data"

谢谢!

【问题讨论】:

  • @nongkron - 抱歉修复,请客

标签: r statistics anova


【解决方案1】:

每个分组都有多个 ID 观察值。运行代码时的警告中提到了这一点,它表示这些值已被折叠到它们的平均值。因此,在引擎盖下,它会执行以下操作,

library(plyr)
collapsed <- ddply(data.ex2, .(ID, Treat, Gender), function(x)
    mean(x[, "value"]))

## the mean value is now in column `V1`
aov(V1 ~ Treat*Gender, data=collapsed)

【讨论】:

    【解决方案2】:

    好吧,我终于想通了。需要最后一个命令。

    drop1(aov.ex2, .~., test="F")
    

    现在它可以工作了,作为参考,我从这里得到了这个信息:

    http://goanna.cs.rmit.edu.au/~fscholer/anova.php

    【讨论】:

      猜你喜欢
      • 2017-07-18
      • 2021-06-28
      • 2021-07-04
      • 1970-01-01
      • 2017-08-03
      • 2012-09-22
      • 2017-10-26
      • 2016-01-30
      • 2018-11-19
      相关资源
      最近更新 更多