Смешанная анова в R

Я пытаюсь провести анализ анова в R для набора данных с одним внутренним фактором и одним между факторами. Данные взяты из эксперимента по проверке сходства двух методов тестирования. Каждый субъект был протестирован в Методе 1 и Методе 2 (внутренний фактор), а также входил в одну из 4 разных групп (междуфактор). Я пробовал использовать функции aov, Anova (в автомобильном пакете) и ezAnova. Я получаю неправильные значения для каждого метода, который я пробую. Я не уверен, в чем моя ошибка, если это непонимание R или самой Anova. Я включил код, который использовал, и считаю, что он должен работать. Я пробовал массу вариантов этого, надеясь наткнуться на ответ. Этот набор данных сбалансирован, но у меня много подобных наборов данных, и многие из них не сбалансированы. Спасибо за любую помощь, которую вы можете предоставить.

library(car)
library(ez)

#set up data
sample_data <- data.frame(Subject=rep(1:20,2),Method=rep(c('Method1','Method2'),each=20),Level=rep(rep(c('Level1','Level2','Level3','Level4'),each=5),2))
sample_data$Result <- c(4.76,5.03,4.97,4.70,5.03,6.43,6.44,6.43,6.39,6.40,5.31,4.54,5.07,4.99,4.79,4.93,5.36,4.81,4.71,5.06,4.72,5.10,4.99,4.61,5.10,6.45,6.62,6.37,6.42,6.43,5.22,4.72,5.03,4.98,4.59,5.06,5.29,4.87,4.81,5.07)
sample_data[, 'Subject'] <- as.factor(sample_data[, 'Subject'])
#Set the contrats if needed to run type 3 sums of square for unblanaced data
#options(contrats=c("contr.sum","contr.poly"))

#With aov method as I understand it 'should' work
anova_aov <- aov(Result ~ Method*Level + Error(Subject/Method),data=test_data)
print(summary(anova_aov))

#ezAnova method,
anova_ez = ezANOVA(data=sample_data, wid=Subject, dv = Result, within = Method, between=Level, detailed = TRUE, type=3)
print(anova_ez)

Кроме того, значения, которые я должен получать на выходе SAS

SAS Anova


person H.Bananas    schedule 07.11.2016    source источник


Ответы (1)


На самом деле ваш код R верен в обоих случаях. Прогон этих данных через SPSS дал тот же результат. SAS, как и SPSS, по-видимому, требует, чтобы уровни внутреннего фактора отображались в отдельных столбцах. Вы получите 20 строк вместо 40. Расположение, подобное приведенному ниже, может дать вам желаемый результат в SAS:

Предметный уровень Метод1 Метод2

person Edward Carney    schedule 07.11.2016
comment
Спасибо за ответ. Результаты SAS на самом деле являются правильными результатами. Значения p не имеют смысла из моего кода R. Степени свободы для меня странны при взгляде на код SAS, как и термин ошибки, который использовался для расчета значения F. В результатах SAS уровень (метод) использовался как ошибка для расчета значения F. Я думаю, что я неправильно понимаю статистику, связанную здесь. - person H.Bananas; 08.11.2016
comment
Играя с функцией aov, я обнаружил, что использование aov(Result ~ Method/Level + Error(Method:Level),data=sample_data) дает мне результаты, аналогичные выводу SAS. Я не знаю, что это означает в отношении установки эксперимента и Anova. Я бы не подумал моделировать это таким образом. - person H.Bananas; 08.11.2016