adonis in vegan: ordine delle variabili o uso degli strati
Su Febbraio 15, 2021 da admin Sto usando la funzione adonis()
in vegan
pacchetto per determinare 1) se le specie ospitanti ricorrenti variano nella loro comunità microbica su più siti e 2) se i siti sono diversi. Ho esaminato tutti i post su CV e SO e non esiste una risposta chiara su come determinare il significato di più fattori utilizzando la funzione adonis.
Lho fatto per primo, come suggerito da https://stackoverflow.com/questions/26768779/vegan-adonis-unbalanced-design-ss-type-ii-or-iii :
dove jacc è una matrice di dissomiglianza che utilizza la metrica 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
Quindi inverti lordine:
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
Ma non so come interpretarlo, perché lordine è importante e Non sono proprio sicuro che ci siano differenze tra le specie.
Dopo un po di ricerca ho deciso di utilizzare gli strati.
Penso che questo stia dicendo: le specie co-presenti sono diverse confrontare solo le specie negli stessi siti.
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
Quindi per porre la domanda sul sito, ho usato le specie nel blocco.
Penso che questo stia dicendo: i siti sono diversi quando si confrontano solo le stesse specie
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
La mia conclusione è che la comunità microbica su una data specie differisce tra i siti, ma che la comunità microbica non differisce tra specie ospite.
Il mio approccio è corretto o sto interpretando male luso degli strati (cioè il blocco)?
O cè un modo per fare una media in qualche modo sui test quando ho cambiato lordine delle variabili ?
Risposta
Come hai notato tu stesso, eseguendo due modelli adonis con i tuoi fattori fissi invertiti vedrai che sia la varianza assegnato a ciascun fattore e i valori P differiscono ogni volta. Ciò si verifica in progetti sbilanciati come il tuo, in cui i gradi di libertà associati a ciascun fattore differiscono.
Dalla descrizione del tuo esperimento, sembra un caso classico di un disegno nidificato in cui Species è nidificato nel Sito. In questo caso il modello che stai cercando dovrebbe assomigliare a questo:
adonis <- adonis(jacc ~ Site / Species, strata = Site, data = df_compare)
.
Tieni presente che il nidificazione dovrebbe essere dichiarato nella formulazione del modello così come negli strati (vedere risposta di Jari Oksanen ).
Commenti
- puoi aggiornare il link per la risposta di Oksanen?
- Spiacenti, non riesco a trovare un nuovo link. Il forum è stato chiuso.
Lascia un commento