Я пытаюсь создать ключ ответа для онлайн-викторины для расчета сбалансированного одностороннего ANVOA вручную.Я использовал R, чтобы проверить свою математику, но R возвращает разные значения для SS как между группами, так и внутри групп (и, таким образом, также значения MS и F).Я несколько раз проверял свои расчеты, и не могу найти в них ошибок. Я также проверил свою математику с помощью GraphPad;GraphPad возвращает те же значения, которые я вычисляю вручную.Я предполагаю, что где-то есть ошибка в моем коде R, но мне нужна помощь, чтобы найти ее.
Я использовал функции aov (), anova () и ezANOVA () для запуска ANOVA в R, все они возвращают SS в диапазоне от 14,98, SS в пределах 0,62 и значение F в 254,22.Тем не менее, при расчете вручную и в GraphPad, я получаю SS между 15.19, SS в пределах .64 и значением F 251.2.
Данные представлены в длинном формате в data.frame QuizData (24 строки).IV - это фактор с 3 уровнями, ID - это просто идентификационный номер для каждой оценки, а DV - числовые данные (см. Ниже).
> QuizData
# A tibble: 24 x 3
IV ID DV
<fct> <int> <dbl>
1 L1 1 0.9
2 L1 2 0.7
3 L1 3 1.2
4 L1 4 0.7
5 L1 5 0.7
6 L1 6 0.9
7 L1 7 0.9
8 L1 8 0.8
9 L2 9 1.6
10 L2 10 1.5
# ... with 14 more rows
> QuizData[1:12,]
# A tibble: 12 x 3
IV ID DV
<fct> <int> <dbl>
1 L1 1 0.9
2 L1 2 0.7
3 L1 3 1.2
4 L1 4 0.7
5 L1 5 0.7
6 L1 6 0.9
7 L1 7 0.9
8 L1 8 0.8
9 L2 9 1.6
10 L2 10 1.5
11 L2 11 1.6
12 L2 12 1.5
> QuizData[13:24,]
# A tibble: 12 x 3
IV ID DV
<fct> <int> <dbl>
1 L2 13 1.8
2 L2 14 1.7
3 L2 15 1.5
4 L2 16 1.2
5 L3 17 2.5
6 L3 18 2.9
7 L3 19 2.8
8 L3 20 3
9 L3 21 2.7
10 L3 22 2.7
11 L3 23 2.6
12 L3 24 2.9
Мой код ANOVA указан ниже:
aov.results = aov(DV~IV, data = QuizData)
summary(aov.results)
anova(lm(DV~IV, data = QuizData))
library(ez)
ezANOVA(data = QuizData,
dv = DV,
wid = ID,
between = IV,
type = 2)
По сравнению с GraphPad и моими ручными вычислениями значения R немного не соответствуют (вывод ниже).
> aov.results = aov(DV~IV, data = QuizData)
> summary(aov.results)
Df Sum Sq Mean Sq F value Pr(>F)
IV 2 14.981 7.490 254.2 1.92e-15 ***
Residuals 21 0.619 0.029
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> anova(lm(DV~IV, data = QuizData))
Analysis of Variance Table
Response: DV
Df Sum Sq Mean Sq F value Pr(>F)
IV 2 14.9808 7.4904 254.22 1.92e-15 ***
Residuals 21 0.6187 0.0295
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> ezANOVA(data = QuizData,
+ dv = DV,
+ wid = ID,
+ between = IV,
+ type = 2)
Warning: Converting "ID" to factor for ANOVA.
Coefficient covariances computed by hccm()
$ANOVA
Effect DFn DFd F p p<.05 ges
1 IV 2 21 254.2202 1.919655e-15 * 0.9603355
$`Levene's Test for Homogeneity of Variance`
DFn DFd SSn SSd F p p<.05
1 2 21 0.0008333333 0.21875 0.04 0.9608625
Я не могу найти, где я ошибаюсь в R, и мне нужно знать причину этого несоответствия.