我已经如何排除不需要的比较双向ANOVA R中

问题描述:

被问及此事已经在stats.exchange(original question),现在我重新发布相同的内容在这里 - 希望从更广泛的人群得到帮助。我已经如何排除不需要的比较双向ANOVA R中


我想知道,以排除来自两个因素方差分析产生的输出所有不需要成对的方式,所以当出现显示了概要的显著结果(AOV())中,事后检验不会给我任何我不想要的比较。详情如下:

我有datTable含有比例数据下的两个因子site(四个等级:A,B,C,d)和treatment(两个级别:对照和处理)。具体而言,我想要做的所有site中成对测试每个相同treatment(例如控制-A VS.控制-B下,控制-A VS.control-C,处理-A VS.treated-C等),而不同sites和不同treatments(例如,对诸如控制-A VS.处理-B,控制-B VS.处理-C)之间的比较中排除。

的数据是这样的:

> datTable 
    site treatment proportion 
    A control 0.5000000 
    A control 0.4444444 
    A treated 0.1000000 
    A treated 0.4000000 
    B control 0.4444444 
    B control 0.4782609 
    B treated 0.0500000 
    B treated 0.3000000 
    C control 0.3214286 
    C control 0.4705882 
    C treated 0.1200000 
    C treated 0.4000000 
    D control 0.3928571 
    D control 0.4782609 
    D treated 0.4000000 
    D treated 0.4100000 

我做了一个双向ANOVA(还不能肯定是否受site/treatment内或受site*treatment ...之间使用),并总结了结果。

m1 <- aov(proportion~site*treatment,data=datTable) # Or should I use 'site/treatment'? 

然后我summary(m1)给我的以下内容:

> summary(m1) 
       Df Sum Sq Mean Sq F value Pr(>F) 
site   3 0.02548 0.00849 0.513 0.6845 
treatment  1 0.11395 0.11395 6.886 0.0305 * 
site:treatment 3 0.03686 0.01229 0.742 0.5561 
Residuals  8 0.13239 0.01655     

下一步是使用TukeyHSD事后检验来实际看看哪一对造成site因素*意义。

> TukeyHSD(m1) 
    Tukey multiple comparisons of means 
    95% family-wise confidence level 

Fit: aov(formula = proportion ~ site * treatment, data = datTable) 

$site 
      diff  lwr  upr  p adj 
B-A -0.042934783 -0.3342280 0.2483585 0.9631797 
C-A -0.033106909 -0.3244002 0.2581863 0.9823452 
D-A 0.059168392 -0.2321249 0.3504616 0.9124774 
C-B 0.009827873 -0.2814654 0.3011211 0.9995090 
D-B 0.102103175 -0.1891901 0.3933964 0.6869754 
D-C 0.092275301 -0.1990179 0.3835685 0.7461309 

$treatment 
         diff  lwr   upr  p adj 
treated-control -0.1687856 -0.3171079 -0.02046328 0.0304535 

$`site:treatment` 
          diff  lwr  upr  p adj 
B:control-A:control -0.010869565 -0.5199109 0.4981718 1.0000000 
C:control-A:control -0.076213819 -0.5852551 0.4328275 0.9979611 
D:control-A:control -0.036663216 -0.5457045 0.4723781 0.9999828 
A:treated-A:control -0.222222222 -0.7312635 0.2868191 0.6749021 
B:treated-A:control -0.297222222 -0.8062635 0.2118191 0.3863364 # Not wanted 
C:treated-A:control -0.212222222 -0.7212635 0.2968191 0.7154690 # Not wanted 
D:treated-A:control -0.067222222 -0.5762635 0.4418191 0.9990671 # Not wanted 
C:control-B:control -0.065344254 -0.5743856 0.4436971 0.9992203 
D:control-B:control -0.025793651 -0.5348350 0.4832477 0.9999985 
A:treated-B:control -0.211352657 -0.7203940 0.2976887 0.7189552 # Not wanted 
B:treated-B:control -0.286352657 -0.7953940 0.2226887 0.4233804 # Not wanted 
C:treated-B:control -0.201352657 -0.7103940 0.3076887 0.7583437 # Not wanted 
D:treated-B:control -0.056352657 -0.5653940 0.4526887 0.9996991 
D:control-C:control 0.039550603 -0.4694907 0.5485919 0.9999713 
A:treated-C:control -0.146008403 -0.6550497 0.3630329 0.9304819 # Not wanted 
B:treated-C:control -0.221008403 -0.7300497 0.2880329 0.6798628 # Not wanted 
C:treated-C:control -0.136008403 -0.6450497 0.3730329 0.9499131 
D:treated-C:control 0.008991597 -0.5000497 0.5180329 1.0000000 # Not wanted 
A:treated-D:control -0.185559006 -0.6946003 0.3234823 0.8168230 # Not wanted 
B:treated-D:control -0.260559006 -0.7696003 0.2484823 0.5194129 # Not wanted 
C:treated-D:control -0.175559006 -0.6846003 0.3334823 0.8505865 # Not wanted 
D:treated-D:control -0.030559006 -0.5396003 0.4784823 0.9999950 
B:treated-A:treated -0.075000000 -0.5840413 0.4340413 0.9981528 
C:treated-A:treated 0.010000000 -0.4990413 0.5190413 1.0000000 
D:treated-A:treated 0.155000000 -0.3540413 0.6640413 0.9096378 
C:treated-B:treated 0.085000000 -0.4240413 0.5940413 0.9960560 
D:treated-B:treated 0.230000000 -0.2790413 0.7390413 0.6429921 
D:treated-C:treated 0.145000000 -0.3640413 0.6540413 0.9326207 

然而,也有一些对我不希望被列入双向ANOVA我预制,指定为。

有没有什么办法可以调整aovTukeyHSD函数来排除上面列出的那些可能性('不想要的')?我可以很容易选择,我从TukeyHSD产生的一长串兴趣(与*)的显著entires。但我不希望我的结果来自于这些! (它发生在真正的数据中,实际上是由那些不需要的对引起的重要性!)

注意:您可能已经注意到site:treatment事后测试没有显示任何意义,这是因为我只选择了一个小来自原始数据的样本。

+0

您不排除任何方差分析。您可以将您的事后测试仅限于相关比较。例如,你可以进行成对t检验,并使用'p.adjust'进行手动调整,以便进行阿尔法错误通货膨胀。 – Roland

如果你的意思是从计算完全排除这些比较,图基检验的工作原理是这样的成对比较为条件的所有组合。 “排除”任何配对没有意义。

如果你的意思是你想从你的最后结果显示排除不必要的比较,那么是的,这是可能的。 TukeyHSD的结果只是一个列表,site:treatment只是一个矩阵,您可以随意操作。

lst <- TukeyHSD(m1) 
lst[['site:treatment']] <- lst[['site:treatment']][-c(5,6,7,10,11,12,15,16,18,19,20,21),] 
+0

只是要提及这个相同的方法作为评论... – Gaurav

+0

感谢您的答案。我正在考虑将这些比较从ANOVA分析中排除,如果没有sig。我感兴趣的那些对之间的差异,ANOVA不会给我签名。结果。 –

+0

方差分析不会那样工作。请参阅上面的罗兰的评论。 – kliron