我非常感谢以下任何指导:我正在运行ANOVA(aov)来检索更大数据集的多个子集的p_value。所以我碰到了一个子集,其中我的数值变量/值是相同的36.因为它是循环的一部分,ANOVA仍然被执行,同时报告看似无限小的p_value 1.2855e-134 - >如果我错了,纠正我,但p_值越小,因素之间的差异显着不同的可能性越大?
为简单起见,这是子集: sUBSET_FOR_ANOVA
以下是我如何计算ANOVA并检索p_value,其中TEMP_DF2只是您看到的子集:
#
anova_sweep <- aov(TEMP_DF2$GOOD_PTS~TEMP_DF2$MACH,data = TEMP_DF2)
p_value <- summary(anova_sweep)[[1]][["Pr(>F)"]]
p_value <- p_value[1]
#
非常感谢任何指导,
答案 0 :(得分:0)
我无法复制你的发现。让我们生成一个示例数据集,其中所有值都为36:
df <- data.frame(gr = rep(letters[1:2], 100),
y = 36)
summary(aov(y~gr, data = df))
给出:
Df Sum Sq Mean Sq F value Pr(>F)
gr 1 1.260e-27 1.262e-27 1 0.319
Residuals 198 2.499e-25 1.262e-27
基本上,根据样本量,我们得到的p值约为0.3左右。 F统计量(根据定义)始终为1,因为组间差异和组间差异相等。
结果会产生误导吗?在某种程度上,是的。估计的SS和MS应为0,aov
将它们计算得非常小。 R
和某些包中的其他一些统计测试会检查零差异并产生错误,但aov
显然没有。
然而,更重要的是,我会说你的数据违反了方差分析的假设,因此任何结果都不能被信任得出结论。在统计测试中,R的期望通常是用户在正确的情况下使用测试。