adonis in vegan: volgorde van variabelen of gebruik van strata
Geplaatst op februari 15, 2021 door admin Ik gebruik de adonis()
functie in de vegan
pakket om te bepalen 1) of co-voorkomende gastheersoorten verschillen in hun microbiële gemeenschap over meerdere sites, en 2) als sites verschillend zijn. Ik heb alle berichten op CV en SO bekeken, en er is geen duidelijk antwoord op hoe de significantie van meerdere factoren kan worden bepaald met behulp van de adonis-functie.
Ik deed dit eerst, zoals voorgesteld door https://stackoverflow.com/questions/26768779/vegan-adonis-unbalanced-design-ss-type-ii-or-iii :
waar jacc een ongelijkheidsmatrix is met behulp van de jaccard-statistiek
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
Draai vervolgens de volgorde om:
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
Maar ik weet niet hoe ik dat moet interpreteren, omdat de volgorde ertoe doet, en Ik weet niet zeker of er verschillen zijn tussen soorten.
Na wat zoeken besloot ik om strata te gebruiken.
Ik denk dat dit wil zeggen: zijn naast elkaar voorkomende soorten anders als je vergelijk alleen soorten op dezelfde locaties.
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
Om de vraag over de site te stellen, heb ik soorten gebruikt bij het blokkeren.
Ik denk dat dit zegt: zijn sites anders wanneer je alleen dezelfde soort vergelijkt.
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
Mijn conclusie is dat de microbiële gemeenschap op een bepaalde soort verschilt tussen locaties, maar dat de microbiële gemeenschap niet verschilt tussen gastheersoort.
Is mijn aanpak correct of interpreteer ik het gebruik van strata (dwz blokkeren) verkeerd?
Of is er een manier om op de een of andere manier een gemiddelde te maken over de tests als ik de volgorde van de variabelen veranderde ?
Antwoord
Zoals je zelf hebt opgemerkt, kun je door twee adonis-modellen uit te voeren met je vaste factoren omgekeerd, zien dat zowel de variantie toegewezen aan elke factor, en de P-waarden verschillen elke keer. Dit komt voor bij ongebalanceerde ontwerpen zoals die van u, waarbij de vrijheidsgraden die aan elke factor zijn gekoppeld, verschillen.
Uit de beschrijving van uw experiment lijkt het een klassiek geval van een genest ontwerp waar Soort is genest in Site. In dit geval zou het model dat u zoekt er als volgt uit moeten zien:
adonis <- adonis(jacc ~ Site / Species, strata = Site, data = df_compare)
.
Houd er rekening mee dat genestheid vermeld zowel in de modelformulering als in de strata (zie antwoord door Jari Oksanen ).
Reacties
- kun je de link voor het Oksanen-antwoord bijwerken?
- Sorry, ik kan geen nieuwe link vinden. Het forum is gesloten.
Geef een reactie