【问题标题】:Why two independent sample t-test and two-way ANOVA give different results on same data set?为什么两个独立样本 t 检验和双向 ANOVA 在同一数据集上给出不同的结果?
【发布时间】:2015-12-09 00:09:24
【问题描述】:

我在两种不同的处理方法下收集了两个数据样本:

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 &lt; 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 &gt; 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               

谁能帮我解决这个问题?非常感谢!

【问题讨论】:

    标签: r statistics anova


    【解决方案1】:

    如果您想进行等效的 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 检验中的方差不相等(默认情况下)并进行 Welch 检验,则标准 ANOVA 不会准确地再现 p 值。

    【讨论】:

      猜你喜欢
      • 2014-12-20
      • 1970-01-01
      • 2021-07-04
      • 2014-12-15
      • 1970-01-01
      • 1970-01-01
      • 2012-07-28
      • 2012-06-22
      • 1970-01-01
      相关资源
      最近更新 更多