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?