方差分析的自由度不正确

ANOVA degrees of freedom is incorrect

我的方差分析结果如下,

mnn=aov(gy~gen+rep, data=my)
summary(mnn)
            Df Sum Sq Mean Sq F value   Pr(>F)    
gen          6 1923.1   320.5  31.206 5.42e-07 ***
rep          1    7.1     7.1   0.695    0.419    
Residuals   13  133.5    10.3                     

为什么当 rep 的级别数是 3在数据.

这是我的示例数据集,

   gen rep gy  sy
1    a   1 40  95
2    b   1 50 120
3    c   1 55 120
4    d   1 60 140
5    e   1 40 110
6    f   1 50 125
7    g   1 65 145
8    a   2 35 100
9    b   2 50 125
10   c   2 59 130
11   d   2 65 150
12   e   2 40 110
13   f   2 55 130
14   g   2 60 145
15   a   3 40 100
16   b   3 50 120
17   c   3 50 130
18   d   3 65 145
19   e   3 40 115
20   f   3 55 130
21   g   3 70 155

您可能打算将 rep 视为 分类 预测变量。因为数据集中 rep 的值是数字 (1,2,3),R 将假设 rep 是一个连续预测变量(因此您正在做一种形式的 ANCOVA 而不是两个方差分析)。在这种情况下,您必须明确指定变量是分类变量,方法是在数据集中使用 factor() 对其进行转换:

my$rep <- factor(my$rep)

或在您的 aov() 通话期间:

aov(gy~gen+factor(rep), data=my)