adonis in vegan: ordre des variables ou utilisation des strates
On février 15, 2021 by admin Jutilise la fonction adonis()
dans le vegan
pour déterminer 1) si les espèces hôtes concomitantes varient dans leur communauté microbienne sur plusieurs sites, et 2) si les sites sont différents. Jai examiné tous les articles sur CV et SO, et il ny a pas de réponse claire sur la façon de déterminer limportance de plusieurs facteurs à laide de la fonction adonis.
Jai dabord fait cela, comme suggéré par https://stackoverflow.com/questions/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
Ensuite, inversez lordre:
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 lordre compte, et Je ne sais pas vraiment sil existe des différences entre les espèces.
Après quelques recherches, jai décidé dutiliser des strates.
Je pense que cela veut dire: les espèces concomitantes sont-elles différentes lorsque vous comparer uniquement les espèces 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
Ensuite pour poser la question sur le site, jai utilisé des espèces dans le blocage.
Je pense que cela veut dire: les sites sont-ils différents lorsque vous comparez 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 dune espèce donnée diffère selon les sites, mais que la communauté microbienne ne diffère pas entre espèces hôtes.
Mon approche est-elle correcte ou est-ce que jinterprète mal lutilisation des strates (cest-à-dire le blocage)?
Ou y a-t-il un moyen de faire la moyenne des tests lorsque jai changé lordre des variables ?
Réponse
Comme vous lavez noté vous-même, en exécutant deux modèles adonis avec vos facteurs fixes inversés, vous voyez que la variance affectée à chaque facteur et les valeurs P diffèrent à chaque fois. Cela se produit dans les conceptions non équilibrées telles que la vôtre, où les degrés de liberté associés à chaque facteur diffèrent.
Daprès la description de votre expérience, cela ressemble à un cas classique dune conception imbriquée où Species est imbriquée dans Site. Dans ce cas, le modèle que vous recherchez doit ressembler à ceci:
adonis <- adonis(jacc ~ Site / Species, strata = Site, data = df_compare)
.
Notez que limbrication doit être indiqué dans la formulation du modèle ainsi que dans les strates (voir réponse de Jari Oksanen ).
Commentaires
- pouvez-vous mettre à jour le lien pour la réponse Oksanen?
- Désolé, je ne trouve pas de nouveau lien. Le forum a été fermé.
Laisser un commentaire