为什么两个独立样本 t 检验和双向方差分析在同一数据集上给出不同的结果?
Why two independent sample t-test and two-way ANOVA give different results on same data set?
我有两个在两种不同处理下收集的数据样本:
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)
结果如下 (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
谁能帮我解决这个问题?非常感谢!
如果您想进行等效的方差分析,则必须进行不同的设置。
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 检验中的方差不等(默认情况下如此)并进行 Welch 检验,则标准方差分析不会准确地重现 p 值。
我有两个在两种不同处理下收集的数据样本:
sam.a <- c( 0.1333333, 0.2258065, 0.1944444, 0.2894737)
sam.b <- c(0.137931, 0.093750, 0, 0)
我第一次在 R:
中尝试 t.testt.test(sam.a,sam.b)
结果如下 (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
谁能帮我解决这个问题?非常感谢!
如果您想进行等效的方差分析,则必须进行不同的设置。
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 检验中的方差不等(默认情况下如此)并进行 Welch 检验,则标准方差分析不会准确地重现 p 值。