2013-05-08 1312 views
0

我对包含第1列(区域)中的解剖区域和第2列(S1)中的基因表达值的数据帧运行ANOVA和TukeyHSD。我通常会认为aov总结的p值表示为Pr(> F),所以我对我得到的结果有点模糊。另外,有人可以帮助我了解Tukey意味着结果的多重比较吗?我并不完全清楚差异p调整结果表明。这里显示的结果是我实际使用的简要版本,FYI。R:ANOVA和TukeyHSD分析的解释结果

> 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 
+1

我不明白你的问题的第一部分,因为'summary.aov'输出符合你的期望。 'diff'就是两组手段之间的区别。 'p adj'是Tukey调整后的p值,即diff的重要性测试结果(考虑多次测试)。你的问题在这里脱离主题。 – Roland 2013-05-08 18:38:25

回答

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