Adonis in vegan: Reihenfolge der Variablen oder Verwendung von Schichten

9

Ich verwende die adonis()Funktion im veganPaket, 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 geprüft, und es gibt keine eindeutige Antwort darauf, wie die Bedeutung mehrerer Faktoren mithilfe der Adonis-Funktion bestimmt werden kann.

Ich habe dies zuerst getan, wie von /programming/26768779/vegan-adonis-unbalanced-design-ss-type-ii-or-iii vorgeschlagen :

Dabei ist Jacc eine Unähnlichkeitsmatrix unter Verwendung der Jaccard-Metrik

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 einigem Suchen entschied ich mich für Schichten.

Ich denke, das heißt: Sind gleichzeitig vorkommende Arten unterschiedlich, wenn Sie nur Arten an denselben Standorten vergleichen.

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 dann die Frage nach dem Standort zu stellen, habe ich Arten für die Blockierung verwendet.

Ich denke, das heißt: Sind die Standorte unterschiedlich, wenn Sie nur die gleiche 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

Mein Fazit ist, dass sich die mikrobielle Gemeinschaft einer bestimmten Art zwischen den Standorten unterscheidet, die mikrobielle Gemeinschaft sich jedoch nicht zwischen den Wirtsarten unterscheidet.

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?

Carly MW
quelle

Antworten:

4

Wie Sie selbst bemerkt haben, sehen Sie beim Ausführen von zwei Adonis-Modellen mit invertierten festen Faktoren, dass sich sowohl die jedem Faktor zugewiesene Varianz als auch die P-Werte jedes Mal unterscheiden. Dies tritt bei unausgeglichenen Designs wie Ihrem auf, bei denen die mit jedem Faktor verbundenen Freiheitsgrade unterschiedlich sind.
Aus der Beschreibung Ihres Experiments geht hervor, dass es sich um einen klassischen Fall eines verschachtelten Entwurfs handelt, bei dem Arten in Site verschachtelt sind. In diesem Fall sollte das gesuchte Modell folgendermaßen aussehen :
adonis <- adonis(jacc ~ Site / Species, strata = Site, data = df_compare).
Beachten Sie, dass die Verschachtelung sowohl in der Modellformulierung als auch in den Schichten angegeben werden sollte (siehe Antwort von Jari Oksanen ).

Roey Angel
quelle