adonis på vegan: ordning på variabler eller användning av strata
On februari 15, 2021 by admin Jag använder adonis()
-funktionen i vegan
paket för att bestämma 1) om värdfamiljer som förekommer varierar i sin mikrobiella gemenskap över flera platser, och 2) om platser är olika. Jag har granskat alla inlägg på CV och SO, och det finns inget tydligt svar på hur man bestämmer betydelsen av flera faktorer med hjälp av adonis-funktionen.
Jag gjorde det först, som föreslagits av https://stackoverflow.com/questions/26768779/vegan-adonis-unbalanced-design-ss-type-ii-or-iii :
där jacc är en olikhetsmatris med hjälp av jaccard-mätvärdet
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
Vänd sedan om ordningen:
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 jag vet inte hur man ska tolka det, för ordern betyder, och Jag är inte riktigt säker på om det finns skillnader mellan arter.
Efter en del sökningar bestämde jag mig för att använda strata.
Jag tror att det här säger: är artar som förekommer olika när du jämför bara arter på samma platser.
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
För att ställa frågan om platsen använde jag arter i blockeringen.
Jag tror att det här sägs: är platser olika när du bara jämför samma 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 slutsats är att den mikrobiella gemenskapen på en viss art skiljer sig åt mellan platser, men att den mikrobiella gemenskapen inte skiljer sig mellan värdarter.
Är mitt tillvägagångssätt korrekt eller tolkar jag felaktigt användningen av strata (dvs. blockering)?
Eller finns det ett sätt att på något sätt snitta över testerna när jag bytte ordning på variablerna ?
Svar
Som du själv har noterat, ser du att båda variansen genom att köra två adonismodeller med dina fasta faktorer inverterade tilldelas varje faktor och P-värdena skiljer sig åt varje gång. Detta förekommer i obalanserade mönster som din, där frihetsgraderna för varje faktor skiljer sig.
Från beskrivningen av ditt experiment ser det ut som ett klassiskt fall av en kapslad design där arten är kapslad på webbplatsen. I det här fallet ska modellen du letar efter se ut så här:
adonis <- adonis(jacc ~ Site / Species, strata = Site, data = df_compare)
.
Observera att kapsling bör anges i modellformuleringen såväl som i skikten (se svar av Jari Oksanen ).
Kommentarer
- kan du uppdatera länken för Oksanen-svaret?
- Jag kan tyvärr inte hitta en ny länk. Forumet har stängts av.
Lämna ett svar