R 在lm()上使用anova()进行交互的综合anova忽略了一个因素
我正在进行onmibus方差分析,以测试一个数据集与一个变量和三个因素的交互作用R 在lm()上使用anova()进行交互的综合anova忽略了一个因素,r,statistics,lm,anova,R,Statistics,Lm,Anova,我正在进行onmibus方差分析,以测试一个数据集与一个变量和三个因素的交互作用 data$fac1 data$fac2 data$fac3 levels(data$fac1) [1] "1" "2" "3" "4" "5" "6" "7" "8" [9] "9" "10" "11" "12" "13" "14" "15" "16" [17] "17""18" "19" "20" "21" "22" "23" "24" [25] "25""26" "27" "28
data$fac1
data$fac2
data$fac3
levels(data$fac1)
[1] "1" "2" "3" "4" "5" "6" "7" "8"
[9] "9" "10" "11" "12" "13" "14" "15" "16"
[17] "17""18" "19" "20" "21" "22" "23" "24"
[25] "25""26" "27" "28" "29" "30" "31" "32"
[33] "33" "34" "35" "36" "37" "38" "39" "40"
[41] "41" "42" "43" "44" "45" "46" "47" "48"
[49]
levels(data$fac2)
[1] "1" "2" "3" "4" "5" "6" "7" "8"
levels(data$fac3)
[1] "1" "2" "3"
第二个因素被忽略了
代码如下:
anova(lm(var ~ fac1 * fac2 * fac3, data= data))
它返回:
Response: var
Df Sum Sq Mean Sq F value Pr(>F)
fac1 48 31708 660.59 67.043 < 2e-16 ***
fac3 2 279 139.44 14.152 1.4e-06 ***
fac1:fac3 95 10384 109.31 11.094 < 2e-16 ***
Residuals 279 2749 9.85
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
响应:var
Df和Sq平均Sq F值Pr(>F)
fac1 48 31708 660.59 67.043<2e-16***
fac3 2 279 139.44 14.152 1.4e-06***
fac1:fac3 95 10384 109.31 11.094<2e-16***
残差279 2749 9.85
---
签名。代码:0'***'0.001'***'0.01'*'0.05'.'0.1''1
而我期待的是:
Response: var
Df Sum Sq Mean Sq F value Pr(>F)
fac1 48 31708 660.59 67.043 < 2e-16 ***
fac2 7 --- ------ ----- --- ***
fac3 2 279 139.44 14.152 1.4e-06 ***
fac1:fac2 -- ---- ----- ------ ------- ---
fac1:fac3 95 10384 109.31 11.094 < 2e-16 ***
fac2:fac3 -- ----- ------ ------ ------- ---
Residuals 279 2749 9.85
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
响应:var
Df和Sq平均Sq F值Pr(>F)
fac1 48 31708 660.59 67.043<2e-16***
fac2 7-------***
fac3 2 279 139.44 14.152 1.4e-06***
fac1:fac2----------
fac1:fac3 95 10384 109.31 11.094<2e-16***
fac2:fac3--------------
残差279 2749 9.85
---
签名。代码:0'***'0.001'***'0.01'*'0.05'.'0.1''1
有人能帮忙吗?你能提供一个
数据样本吗?您确定“fac2”具有超过1个唯一值吗?我无法提供数据示例。Fac2有8个级别,每个级别至少包含150个值。希望这有助于您提供一个带有dput(head(data,100))
的示例(并确保该示例产生与“fac2”相同的行为)。否则,很难为您提供帮助。这些特征本身并不能证明您的行为出人意料。我们需要一个重现你所遇到问题的数据样本。如果我按照建议取前100个值,fac1上有10个水平,方差分析结果就完成了。这可能是由于fac1中的高水平导致无法在其他VFactor中吸收更多的水平造成的吗?