adonis en végétalien: ordre des variables ou utilisation des strates

9

J'utilise la adonis()fonction du veganpackage 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?

Carly MW
la source

Réponses:

4

Comme vous l'avez noté vous-même, en exécutant deux modèles adonis avec vos facteurs fixes inversés, vous voyez que la variance attribuée à chaque facteur et les valeurs P diffèrent à chaque fois. Cela se produit dans des conceptions déséquilibrées telles que la vôtre, où les degrés de liberté associés à chaque facteur diffèrent.
D'après la description de votre expérience, cela ressemble à un cas classique de conception imbriquée où l'espèce est imbriquée dans le site. Dans ce cas , le modèle que vous cherchez devrait ressembler à ceci:
adonis <- adonis(jacc ~ Site / Species, strata = Site, data = df_compare).
Veuillez noter que l'imbrication doit être indiquée dans la formulation du modèle ainsi que dans les strates (voir la réponse de Jari Oksanen ).

Roey Angel
la source