adonis på vegansk: rækkefølge af variabler eller brug af lag
On februar 15, 2021 by admin Jeg bruger adonis()
-funktionen i i vegan
pakke til bestemmelse af 1) om værtsarter, der forekommer sammen, varierer i deres mikrobielle samfund på tværs af flere steder, og 2) hvis steder er forskellige. Jeg har undersøgt alle indlæg på CV og SO, og der er ikke noget klart svar på, hvordan man kan bestemme betydningen af flere faktorer ved hjælp af adonis-funktionen.
Jeg gjorde det først som foreslået af https://stackoverflow.com/questions/26768779/vegan-adonis-unbalanced-design-ss-type-ii-or-iii :
hvor jacc er en forskelmatrix ved hjælp af jaccard-metricen
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
Vend derefter rækkefølgen:
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
Men jeg ved ikke, hvordan man fortolker det, fordi ordren betyder noget, og Jeg er ikke rigtig sikker på, om der er forskelle mellem arter.
Efter nogle søgninger besluttede jeg at bruge strata.
Jeg tror, det siger: er forskellige arter forskellige, når du sammenlign kun arter på de samme steder.
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
Så for at stille spørgsmålet om stedet, brugte jeg arter i blokeringen.
Jeg tror dette siger: er steder forskellige når man kun sammenligner den samme art
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
Min konklusion er, at det mikrobielle samfund på en given art adskiller sig mellem steder, men at det mikrobielle samfund ikke adskiller sig mellem værtsarter.
Er min tilgang korrekt, eller fortolker jeg misbrug af strata (dvs. blokering)?
Eller er der en måde at gennemsnittet over testene på, når jeg skiftede rækkefølgen af variablerne ?
Svar
Som du har bemærket dig selv, ved at køre to adonis-modeller med dine faste faktorer omvendt ser du, at begge variansen tildelt hver faktor, og P-værdierne adskiller sig hver gang. Dette forekommer i ubalancerede designs som din, hvor frihedsgraderne forbundet med hver faktor er forskellige.
Fra beskrivelsen af dit eksperiment ser det ud som en klassisk sag af et indlejret design, hvor Arter er indlejret i webstedet. I dette tilfælde skal den model, du leder efter, se sådan ud:
adonis <- adonis(jacc ~ Site / Species, strata = Site, data = df_compare)
.
Vær opmærksom på, at indlejring skal anføres i modelformuleringen såvel som i lagene (se svar af Jari Oksanen ).
Kommentarer
- kan du opdatere linket til Oksanen-svaret?
- Jeg kan desværre ikke finde et nyt link. Forummet er lukket ned.
Skriv et svar