adonis vegan: pořadí proměnných nebo použití vrstev
On 15 února, 2021 by admin Používám funkci adonis()
v vegan
balíček k určení 1) toho, zda se společně vyskytující se druhy hostitelů liší v jejich mikrobiální komunitě na více místech, a 2) pokud se místa liší. Prozkoumal jsem všechny příspěvky v životopisu a SO a neexistuje jasná odpověď na to, jak pomocí funkce adonis určit význam více faktorů.
Nejprve jsem to udělal, jak navrhuje https://stackoverflow.com/questions/26768779/vegan-adonis-unbalanced-design-ss-type-ii-or-iii :
kde jacc je matice odlišnosti používající metriku 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
Potom obráťte pořadí:
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
Ale nevím, jak to interpretovat, protože na pořadí záleží a Nejsem si úplně jistý, jestli existují rozdíly mezi druhy.
Po nějakém hledání jsem se rozhodl použít vrstvy.
Myslím, že to říká: jsou druhy, které se společně vyskytují, když se porovnávejte pouze druhy na stejných místech.
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
Poté, abych se zeptal na web, jsem při blokování použil druh.
Myslím, že to říká: jsou stránky odlišné když srovnáváte pouze stejný druh hostitelské druhy.
Je můj přístup správný, nebo nesprávně interpretuji použití vrstev (tj. blokování)?
Nebo existuje způsob, jak nějak průměrovat testy, když jsem přepnul pořadí proměnných ?
Odpověď
Jak jste si sami všimli, spuštěním dvou modelů adonis s obrácenými pevnými faktory zjistíte, že obě varianty přiřazené každému faktoru a hodnoty P se pokaždé liší. K tomu dochází u nevyvážených návrhů, jako je váš, kde se stupně volnosti spojené s každým faktorem liší.
Z popisu experimentu to vypadá jako klasický případ vnořeného designu, kde je druh vnořený na webu. V tomto případě by model, který hledáte, měl vypadat takto:
adonis <- adonis(jacc ~ Site / Species, strata = Site, data = df_compare)
.
Vnořenost by měla být uvedeno v modelové formulaci i ve vrstvách (viz odpověď Jari Oksanena ).
Komentáře
- můžete aktualizovat odkaz pro odpověď Oksanen?
- Lituji, nemohu najít nový odkaz. Fórum bylo ukončeno.
Napsat komentář