2016-11-07 3 views
0

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

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

ответ

0

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

Тема Уровень Method1 method2

+0

Спасибо за ответ. Результаты SAS на самом деле являются правильными результатами. Значения p не имеют смысла в моем R-коде. Степени свободы странны для меня при просмотре кода SAS, так же как и термин ошибки, который использовался для вычисления значения F. В результатах SAS Уровень (Метод) использовался как ошибка для вычисления значения F. Я думаю, что я неправильно понимаю статистику, которая здесь присутствует. –

+0

Играя с функцией aov, я обнаружил, что использование aov (Result ~ Method/Level + Error (Method: Level), data = sample_data) дает мне результаты, похожие на выход SAS. Я не знаю, что это значит о настройке эксперимента и Anova. Я бы не подумал моделировать его таким образом. –

Смежные вопросы