我正在尝试为在线测验创建答案键,以手动计算平衡的单向ANVOA。我使用R来检查数学,但是R在组之间和组内都返回了不同的SS值(因此也返回了MS和F值)。我已经多次检查了手计算,但没有发现任何错误。我还根据GraphPad检查了我的数学运算; GraphPad返回我正在手工计算的相同值。我假设我的R代码中某处有错误,但是我需要帮助找到它。
我使用aov(),anova()和ezANOVA()函数在R中运行ANOVA,它们均返回14.98之间的SS,0.62以内的SS和254.22的F值。但是,当手动计算并在GraphPad中进行计算时,我得到的SS在15.19之间,SS在.64之内,F值为251.2。
数据在data.frame QuizData中为长格式(24行)。 IV是一个具有3个级别的因子,ID只是每个分数的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哪里出问题了,我需要知道这种差异的原因。