我正在使用包中的adonis()
函数vegan
来确定 1) 共同发生的宿主物种在多个地点的微生物群落中是否存在差异,以及 2) 地点是否不同。我检查了所有关于 CV 和 SO 的帖子,对于如何使用 adonis 函数确定多个因素的重要性没有明确的答案。
正如https://stackoverflow.com/questions/26768779/vegan-adonis-unbalanced-design-ss-type-ii-or-iii所建议的那样,我首先这样做了:
其中 jacc 是使用 jaccard 度量的相异矩阵
adonis <- adonis(jacc ~ Species + Site, data = df_compare)
adonis
Call:
adonis(formula = jacc ~ Species + Site, data = df_compare)
Permutation: free
Number of permutations: 999
Terms added sequentially (first to last)
Df SumsOfSqs MeanSqs F.Model R2 Pr(>F)
Species 2 0.6055 0.30273 1.7690 0.04981 0.004 **
Site 4 2.1378 0.53445 3.1231 0.17587 0.001 ***
Residuals 55 9.4122 0.17113 0.77432
Total 61 12.1554 1.00000
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
然后颠倒顺序:
adonis_2 <- adonis(jacc ~ Site + Species, data = df_compare)
adonis_2
Call:
adonis(formula = jacc ~ Site + Species, data = df_compare)
Permutation: free
Number of permutations: 999
Terms added sequentially (first to last)
Df SumsOfSqs MeanSqs F.Model R2 Pr(>F)
Site 4 2.4385 0.60962 3.5623 0.20061 0.001 ***
Species 2 0.3048 0.15238 0.8904 0.02507 0.716
Residuals 55 9.4122 0.17113 0.77432
Total 61 12.1554 1.00000
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
但我不知道如何解释,因为顺序很重要,而且我不确定物种之间是否存在差异。
经过一番搜索,我决定使用strata。
我认为这是在说:当你只比较同一地点的物种时,共生的物种是否不同。
species_adonis <- adonis(jacc ~ Species, strata = df_compare$Site, data = df_compare)
species_adonis
Call:
adonis(formula = jacc ~ Species, data = df_compare, strata = df_compare$Site)
Blocks: strata
Permutation: free
Number of permutations: 999
Terms added sequentially (first to last)
Df SumsOfSqs MeanSqs F.Model R2 Pr(>F)
Species 2 0.6055 0.30273 1.5464 0.04981 0.335
Residuals 59 11.5500 0.19576 0.95019
Total 61 12.1554 1.00000
然后要问关于站点的问题,我在阻塞中使用了物种。
我认为这是在说:当您仅比较同一物种时,站点是否有所不同
site_adonis <- adonis(jacc ~ Site, strata = df_compare$Species, data = df_compare)
Call:
adonis(formula = jacc ~ Site, data = df_compare, strata = df_compare$Species)
Blocks: strata
Permutation: free
Number of permutations: 999
Terms added sequentially (first to last)
Df SumsOfSqs MeanSqs F.Model R2 Pr(>F)
Site 4 2.4385 0.60962 3.5761 0.20061 0.001 ***
Residuals 57 9.7169 0.17047 0.79939
Total 61 12.1554 1.00000
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
我的结论是,给定物种的微生物群落因地点而异,但微生物群落在宿主物种之间没有差异。
我的方法是正确的还是我误解了分层的使用(即阻塞)?
或者当我切换变量的顺序时,有没有办法以某种方式对测试进行平均?