R: 2-way Anova не соответствует пакету ez

Я использую пакет 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)
  • когда я использую пример, приведенный на другом веб-сайте, результаты идеально совпадают, поэтому мне интересно, есть ли что-то, что я делаю неправильно с моей таблицей. Пример, который соответствует if из этого набора данных здесь.

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

Спасибо!


person Ahdee    schedule 03.08.2015    source источник
comment
@nongkron - извините, исправлено, это угощение   -  person Ahdee    schedule 03.08.2015


Ответы (2)


У вас есть несколько наблюдений 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)
person Rorschach    schedule 03.08.2015

Хорошо, я наконец понял это. Нужна последняя команда.

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

теперь это работает, для справки я получил эту информацию отсюда:

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

person Ahdee    schedule 03.08.2015