0

我在包含第 1 列(区域)中的解剖区域和第 2 列(S1)中的基因表达值的数据帧上运行了 ANOVA 和 TukeyHSD。我通常希望 aov 摘要中的 p 值表示为Pr(>F),所以我对我获得的结果有点模糊。另外,有人可以帮助我理解均值结果的 Tukey 多重比较吗?我不完全清楚diffp adj结果表明什么。此处显示的结果是我实际使用的内容的简化版本,仅供参考。

> aov.result = aov(S1 ~ region, data=raw.data)
> summary(aov.result)
             Df  Sum Sq Mean Sq F value    Pr(>F)    
region       60  61.713 1.02856  5.9246 < 2.2e-16 ***
Residuals   655 113.712 0.17361                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 
> TukeyHSD(aov.result)
Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = S1 ~ region, data = raw.data)

$region
                     diff           lwr          upr     p adj
AB-AA        0.4118651583 -2.864195e-01  1.110149848 0.9847745
AHA-AA      -0.0468785098 -7.608569e-01  0.667099930 1.0000000
APir-AA      0.4419135565 -2.563711e-01  1.140198246 0.9502924
B-AA         0.5379787168 -1.603060e-01  1.236263406 0.5846356
4

1 回答 1

2

让我们从一些可重现的数据开始,一个因素和一个连续变量:

set.seed(1)
df1 <- data.frame(
    f1=as.factor(rep(seq(1:3),4)),
    c1=abs(rnorm(12)))
s1 <- stats::aov(df1$c1 ~ df1$f1)
summary(s1)

这会产生与您类似的输出。

您的数据的 P 值看起来是正确的,可以通过以下方式确认:

1-stats::pf(q=5.92, df1=60, df2=655)
[1] 0

现在,查看以下输出:

s2 <- stats::TukeyHSD.aov(s1)

IE

$`df1$f1`
           diff       lwr       upr     p adj
2-1 -0.06282377 -1.038236 0.9125887 0.9823655
3-1 -0.09820762 -1.073620 0.8772048 0.9575774
3-2 -0.03538385 -1.010796 0.9400286 0.9943641

第一列是均值的差异。在我的例子中:

m1 <- mean( df1$c1[df1$f1==1] )
m2 <- mean( df1$c1[df1$f1==2] )

现在m2-m1大约等于s2$"df1$f1"[1,1], 这里-0.068..

这种“均值差”具有从学生化范围 (q) 分布计算的置信区间。机制可以在源代码中找到stats::TukeyHSD.aov()。另请参阅?ptukey。另请注意,在某些情况下,“多重比较校正”的基本原理是 有争议的。这类问题可能更适合CrossValidated

于 2013-05-08T21:55:20.263 回答