adonis vegaanissa: muuttujien järjestys tai kerrostumien käyttö
On helmikuu 15, 2021 by admin Käytän adonis()
-funktiota vegan
-paketti määrittääkseen 1) jos samanaikaisesti esiintyvät isäntälajit vaihtelevat mikrobiyhteisössään useilla alueilla, ja 2) jos paikat ovat erilaisia. Olen tutkinut kaikkia CV: n ja SO: n viestejä, eikä ole selvää vastausta siihen, kuinka määritetään useiden tekijöiden merkitys adonis-funktiolla.
Tein ensin tämän, kuten ehdotti https://stackoverflow.com/questions/26768779/vegan-adonis-unbalanced-design-ss-type-ii-or-iii :
missä jacc on erilainen matriisi, joka käyttää jaccard-metriikkaa
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
Sitten käännä järjestys:
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
Mutta en tiedä miten tulkita sitä, koska järjestyksellä on merkitystä, ja En ole oikeastaan varma, onko lajien välillä eroja.
Muutaman haun jälkeen päätin käyttää kerrostumia.
Luulen, että tämä sanoo: ovatko esiintyvät lajit erilaisia, kun vertailla vain lajeja samoissa paikoissa.
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
Sitten kysyessäni sivustoa, käytin lajeja estossa.
Luulen, että tämä tarkoittaa: ovatko sivustot erilaisia kun verrataan vain samoja lajeja
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
Johtopäätökseni on, että tietyn lajin mikrobiyhteisö eroaa alueittain, mutta mikrobien yhteisö ei eroa isäntälajit.
Onko lähestymistapani oikea vai tulkitsenko väärin kerrosten käyttöä (ts. estämistä)?
Vai onko keino jollain tavoin keskimäärin testata yli muuttaessani muuttujien järjestystä ?
vastaus
Kuten itse totesit, suorittamalla kaksi adonis-mallia kiinteillä tekijöilläsi käänteinen näet, että molemmat varianssit määritetty kullekin tekijälle, ja P-arvot eroavat joka kerta. Tämä tapahtuu epätasapainossa esimerkiksi sinun mallissasi, jossa kuhunkin tekijään liittyvät vapausasteet eroavat.
Kokeilusi kuvauksesta näyttää siltä, että se on klassinen tapaus sisäkkäisistä malleista, joissa Lajit ovat sisäkkäisiä sivustossa. Tässä tapauksessa etsimäsi mallin tulisi näyttää tältä:
adonis <- adonis(jacc ~ Site / Species, strata = Site, data = df_compare)
.
Huomaa, että sisäkkäisyyden tulisi olla mainitaan mallin muotoilussa ja kerrostumissa (katso vastaus: Jari Oksanen ).
Kommentit
- voitko päivittää Oksasen vastauksen linkin?
- Valitettavasti en löydä uutta linkkiä. Foorumi on suljettu.
Vastaa