adonis en vegano: orden de variables o uso de estratos
On febrero 15, 2021 by admin Estoy usando la función adonis()
en el vegan
para determinar 1) si las especies hospedadoras coexistentes varían en su comunidad microbiana en varios 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 usando la función de adonis.
Primero hice esto, como lo sugiere https://stackoverflow.com/questions/26768779/vegan-adonis-unbalanced-design-ss-type-ii-or-iii :
donde jacc es una matriz de disimilitudes que utiliza la métrica 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 buscar un poco, decidí usar estratos.
Creo que esto significa: ¿las especies coexistentes son diferentes cuando solo compare 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 es decir: son sitios diferentes cuando solo comparas 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 de una especie determinada difiere entre sitios, pero que la comunidad microbiana no difiere entre especie hospedante.
¿Mi enfoque es correcto 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 ?
Respuesta
Como ha observado usted mismo, al ejecutar dos modelos de Adonis con sus factores fijos invertidos, verá que tanto la varianza asignado a cada factor, y los valores P difieren cada vez. Esto ocurre en diseños no balanceados como el suyo, donde los grados de libertad asociados con cada factor son diferentes.
De la descripción de su experimento, parece un caso clásico de un diseño anidado donde la especie está anidada en el sitio. En este caso, el modelo que está buscando debería verse así:
adonis <- adonis(jacc ~ Site / Species, strata = Site, data = df_compare)
.
Tenga en cuenta que la anidación debe estar en la formulación del modelo, así como en los estratos (ver respuesta de Jari Oksanen ).
Comentarios
- ¿puedes actualizar el enlace para la respuesta de Oksanen?
- Lo siento, no puedo encontrar un nuevo enlace. El foro ha sido cerrado.
Deja una respuesta