adonis in vegan: Reihenfolge der Variablen oder Verwendung von Schichten
On Februar 15, 2021 by admin Ich verwende die Funktion adonis()
in der vegan
-Paket, um zu bestimmen, 1) ob gleichzeitig vorkommende Wirtsspezies in ihrer mikrobiellen Gemeinschaft über mehrere Standorte hinweg variieren und 2) ob Standorte unterschiedlich sind. Ich habe alle Beiträge zu CV und SO untersucht, und es gibt keine eindeutige Antwort darauf, wie die Signifikanz mehrerer Faktoren mithilfe der Adonis-Funktion bestimmt werden kann.
Ich habe dies zuerst getan, wie von https://stackoverflow.com/questions/26768779/vegan-adonis-unbalanced-design-ss-type-ii-or-iii :
wobei jacc eine Unähnlichkeitsmatrix ist, die die Jaccard-Metrik verwendet
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
Dann kehren Sie die Reihenfolge um:
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
Aber ich weiß nicht, wie ich das interpretieren soll, weil die Reihenfolge wichtig ist, und Ich bin mir nicht sicher, ob es Unterschiede zwischen den Arten gibt.
Nach einiger Suche habe ich mich für die Verwendung von Schichten entschieden.
Ich denke, das sagt: Sind gleichzeitig vorkommende Arten unterschiedlich, wenn Sie Vergleichen Sie nur Arten an denselben Standorten.
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
Um die Frage nach der Site zu stellen, habe ich Arten für die Blockierung verwendet.
Ich denke, dies sagt: Sind Sites unterschiedlich Wenn Sie nur dieselbe Art vergleichen
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
Meine Schlussfolgerung ist, dass sich die mikrobielle Gemeinschaft einer bestimmten Art zwischen den Standorten unterscheidet, die mikrobielle Gemeinschaft sich jedoch nicht zwischen den verschiedenen Arten unterscheidet Wirtsspezies.
Ist mein Ansatz korrekt oder interpretiere ich die Verwendung von Schichten falsch (dh blockieren)?
Oder gibt es eine Möglichkeit, die Tests irgendwie zu mitteln, wenn ich die Reihenfolge der Variablen geändert habe ?
Antwort
Wie Sie selbst bemerkt haben, sehen Sie durch Ausführen von zwei Adonis-Modellen mit invertierten festen Faktoren, dass beide die Varianz sind jedem Faktor zugewiesen, und die P-Werte unterscheiden sich jedes Mal. Dies tritt bei unausgeglichenen Designs wie Ihrem auf, bei denen sich die mit jedem Faktor verbundenen Freiheitsgrade unterscheiden.
Aus der Beschreibung Ihres Experiments geht hervor, dass es sich um einen klassischen Fall handelt In diesem Fall sollte das Modell, nach dem Sie suchen, folgendermaßen aussehen:
adonis <- adonis(jacc ~ Site / Species, strata = Site, data = df_compare)
.
Beachten Sie, dass die Verschachtelung dies tun sollte in der Modellformulierung sowie in den Schichten angegeben werden (siehe Antwort von Jari Oksanen ).
Kommentare
- Können Sie den Link für die Antwort von Oksanen aktualisieren?
- Entschuldigung, ich kann keinen neuen Link finden. Das Forum wurde geschlossen.
Schreibe einen Kommentar