为什么同一数据集上进行的独立样本 t 检验和双因素方差分析会给出不同的结果?

3

我有两个样本数据,分别是在两种不同处理条件下收集的:

sam.a <- c( 0.1333333, 0.2258065, 0.1944444, 0.2894737)
sam.b <- c(0.137931, 0.093750, 0, 0)

我首先在R中尝试了t.test:

t.test(sam.a,sam.b)

which gave me result as below (p < 0.05):

    Welch Two Sample t-test

data:  sam.a and sam.b
t = -4.1497, df = 5.8602, p-value = 0.006329
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.27151717 -0.06935361
sample estimates:
mean of x mean of y 
0.1994576 0.3698930 

当我在R中使用ANOVA尝试相同的数据时:

aov(sam.a ~ sam.b)

结果变得不显著 (p > 0.05):
            Df   Sum Sq  Mean Sq F value Pr(>F)
sam.b        1 0.005970 0.005970   1.778  0.314
Residuals    2 0.006714 0.003357               

有人能帮我解决这个问题吗?非常感谢!

1个回答

6

如果您想进行等效的ANOVA分析,您需要进行不同的设置。

t.test(sam.a,sam.b, var.equal = TRUE)$p.value
#[1] 0.01819264

您需要构建一个变量,描述一个值属于哪个向量:

samples <- c(sam.a, sam.b)
fac <- c(rep("a", length(sam.a)),
         rep("b", length(sam.b)))

summary(aov(samples ~ fac))[[1]]$"Pr(>F)"[1]
#[1] 0.01819264

你使用samp.a作为因变量,samp.b作为自变量,基本上做了一个回归分析,但这并不完全相同。(请注意,aov内部始终执行OLS回归,并从回归结果计算相关平方和。)如果你假设t检验中存在不等方差(默认情况下),并进行韦尔奇检验,则标准ANOVA将无法精确重现p值。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接