J'utilise la adonis()
fonction du vegan
package pour déterminer 1) si les espèces hôtes cooccurrentes varient dans leur communauté microbienne sur plusieurs sites, et 2) si les sites sont différents. J'ai examiné tous les messages sur CV et SO, et il n'y a pas de réponse claire sur la façon de déterminer la signification de plusieurs facteurs à l'aide de la fonction adonis.
J'ai d'abord fait cela, comme suggéré par /programming/26768779/vegan-adonis-unbalanced-design-ss-type-ii-or-iii :
où jacc est une matrice de dissimilarité utilisant la métrique 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
Inversez ensuite l'ordre:
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
Mais je ne sais pas comment interpréter cela, car l'ordre est important, et je ne sais pas vraiment s'il y a des différences entre les espèces.
Après quelques recherches, j'ai décidé d'utiliser des strates.
Je pense que cela veut dire: les espèces cooccurrentes sont-elles différentes lorsque vous ne comparez les espèces que sur les mêmes sites.
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
Puis pour poser la question sur le site, j'ai utilisé des espèces dans le blocage.
Je pense que cela veut dire: les sites sont-ils différents lorsque l'on compare uniquement la même espèce
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
Ma conclusion est que la communauté microbienne d'une espèce donnée diffère selon les sites, mais que la communauté microbienne ne diffère pas entre les espèces hôtes.
Mon approche est-elle correcte ou est-ce que j'interprète mal l'utilisation des strates (c'est-à-dire le blocage)?
Ou existe-t-il un moyen de faire une moyenne des tests lorsque je change l'ordre des variables?