我在包含第1列(区域)中的解剖区域和第2列(S1)中的基因表达值的数据框上运行ANOVA和TukeyHSD。我通常会期望aov摘要中的p值表示为 Pr(> F),所以我对我获得的结果有点模糊。另外,有人可以帮助我了解Tukey多重比较均值结果吗?我不完全清楚 diff 和 p 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
答案 0 :(得分: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)
即
$`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..
这种“均值差异”具有根据studentized range (q) distribution计算的置信区间。机制可以在stats::TukeyHSD.aov()
的源代码中找到。另见?ptukey
。另请注意,在某些情况下,“校正多重比较”的理由是controversial。这类问题可能更适合CrossValidated。