adonis en vegano: orden de variables o uso de estratos


9

Estoy usando la adonis()función en el veganpaquete para determinar 1) si las especies hospedantes concurrentes varían en su comunidad microbiana en múltiples sitios, y 2) si los sitios son diferentes. He examinado todas las publicaciones sobre CV y ​​SO, y no hay una respuesta clara sobre cómo determinar la importancia de múltiples factores utilizando la función adonis.

Primero hice esto, como lo sugiere /programming/26768779/vegan-adonis-unbalanced-design-ss-type-ii-or-iii :

donde jacc es una matriz de disimilitud utilizando la métrica de 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

Luego invierta el orden:

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

Pero no sé cómo interpretar eso, porque el orden importa, y no estoy realmente seguro de si hay diferencias entre las especies.

Después de algunas búsquedas, decidí usar estratos.

Creo que esto dice: las especies concurrentes son diferentes cuando solo se comparan especies en los mismos sitios.

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  

Luego, para hacer la pregunta sobre el sitio, utilicé especies en el bloqueo.

Creo que esto dice: son sitios diferentes cuando solo se compara la misma especie

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

Mi conclusión es que la comunidad microbiana en una especie dada difiere entre los sitios, pero que la comunidad microbiana no difiere entre las especies huésped.

¿Es correcto mi enfoque o estoy malinterpretando el uso de estratos (es decir, bloqueo)?

¿O hay alguna manera de promediar de alguna manera las pruebas cuando cambié el orden de las variables?

Respuestas:


4

Como ha notado usted mismo, al ejecutar dos modelos adonis con sus factores fijos invertidos, verá que tanto la varianza asignada a cada factor como los valores P difieren cada vez. Esto ocurre en diseños desequilibrados como el suyo, donde los grados de libertad asociados con cada factor difieren.
Según la descripción de su experimento, parece un caso clásico de un diseño anidado donde Species está anidado en el sitio. En este caso, el modelo que está buscando debe tener este aspecto:
adonis <- adonis(jacc ~ Site / Species, strata = Site, data = df_compare).
Tenga en cuenta que la anidación debe establecerse en la formulación del modelo, así como en los estratos (ver respuesta de Jari Oksanen ).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.