adonis vegán nyelven: változók sorrendje vagy rétegek használata
On február 15, 2021 by admin A adonis()
függvényt használom a vegan
csomag annak meghatározásához, hogy 1) az egyidejűleg előforduló gazdafajok mikrobiális közösségükben eltérőek-e több helyszínen, és 2) ha a helyek különböznek egymástól. Megvizsgáltam az összes hozzászólást a CV-n és az SO-n, és nincs egyértelmű válasz arra, hogyan lehet meghatározni több tényező jelentőségét az adonis függvény használatával.
Ezt először a https://stackoverflow.com/questions/26768779/vegan-adonis-unbalanced-design-ss-type-ii-or-iii :
ahol a jacc a jaccard metrikát használó különbségmátrix
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
Ezután fordítsa meg a sorrendet:
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
De ezt nem tudom értelmezni, mert a sorrend számít, és Nem igazán vagyok biztos abban, hogy vannak-e különbségek a fajok között.
Némi keresés után úgy döntöttem, hogy rétegeket használok.
Azt hiszem, ez azt mondja: különböznek az együtt előforduló fajok, ha csak ugyanazon a helyszínen hasonlítsa össze a fajokat.
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
Akkor, hogy feltegyem a kérdést a webhelyről, fajokat használtam a blokkolásban.
Azt hiszem, ez azt mondja: különböznek a webhelyek amikor csak ugyanazt a fajt hasonlítja össze
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
Az a következtetésem, hogy az adott faj mikrobiális közössége az egyes helyeken eltérő, de a mikrobiális közösség nem különbözik gazdafajok.
Helyes a megközelítésem, vagy rosszul értelmezem a rétegek használatát (pl. blokkolást)?
Vagy lehet-e valahogyan átlagolni a teszteket, amikor váltottam a változók sorrendjét ?
Válasz
Amint megjegyezted magad, két adonis modell futtatásával fix tényezőiddel megfordítva láthatod, hogy mindkét variancia az egyes tényezőkhöz hozzárendelve, és a P-értékek minden alkalommal eltérnek. Ez olyan kiegyensúlyozatlan kialakításokban fordul elő, mint például az Öné, ahol az egyes tényezőkhöz kapcsolódó szabadsági fokok eltérnek.
A kísérlet leírása alapján klasszikus esetnek tűnik beágyazott terv, ahol a faj be van ágyazva a webhelybe. Ebben az esetben a keresett modellnek így kell kinéznie:
adonis <- adonis(jacc ~ Site / Species, strata = Site, data = df_compare)
.
Ne feledje, hogy a beágyazottságnak meg kell adni a modell megfogalmazásában, valamint a rétegekben (lásd: Jari Oksanen válasza ).
Megjegyzések
- frissítheti az Oksanen-válasz linkjét?
- Sajnálom, nem találok új linket. A fórumot bezárták.
Vélemény, hozzászólás?