Redundancy analysis plotten

Wie erstelle ich Grafiken, was ist zu beachten?

Moderatoren: EDi, jogo

Antworten
Torsten
Beiträge: 3
Registriert: Mi Jul 01, 2020 3:11 pm

Redundancy analysis plotten

Beitrag von Torsten »

Hallo zusammen,

ich habe ein kleine Problem mit meiner Grafik.
Ich habe mich zum ersten mal an einer redundancy analysis (rda) versucht und würde diese auch gerne grafisch darstellen.

Im Anhang sind Beispieldaten:
env_example sind die 2 Faktoren, die meine genera theoretisch beeinflussen
Genera_example ist die Tabelle mit meinen verschiedenen genera

Um die rda zu berechnen habe ich das paket "vegan" benutzt und folgenden code:

library(vegan)

attach(env_example)
attach(Genera_example)

rda <- rda(genera~Treatment + SamplingTime)

Für die Grafik habe ich folgenden code benutzt:

ordiplot(rda, type="n", scaling = 1)
orditorp(rda, display='sp', cex=1.5, scaling=1, col='blue', air=0.1)
text(rda, display='cn', col='red', cex=1.5, scaling=2)


Nun das Problem:

Ich würde gern die länge und Richtung der Pfeile (Vektoren) für jeden Genus in der Grafik darstellen.
Ich habe es bereits mit ordiarrows{vegan} probiert, blieb aber leider erfolglos.

Besten Dank schonmal für alle Hilfestellungen.

Torsten
Dateianhänge
Genera_Example.csv
Tabellen mit allen genera
(608 Bytes) 49-mal heruntergeladen
env_Example.csv
Faktoren, die die genera theoretisch beeinflussen
(248 Bytes) 44-mal heruntergeladen
Torsten
Beiträge: 3
Registriert: Mi Jul 01, 2020 3:11 pm

Re: Redundancy analysis plotten

Beitrag von Torsten »

Habe gestern noch etwas rumprobiert und selbst eine Lösung gefunden.
Falls es noch eine elegantere gibt, bitte trotzdem posten.

Falls jemand auch mal das Problem haben sollte, so habe ich es gelöst:

library(vegan)

attach(env_example)
attach(Genera_example)

# Redundancy analysis aufstellen:

rda <- rda(genera~Treatment + SamplingTime)

# Grafik:

ordiplot(rda, type="n", scaling = 1)
orditorp(rda, display='sp', cex=1.5, scaling=1, col='blue', air=0.1)
text(rda, display='cn', col='red', cex=1.5, scaling=2)
spe.sc2 <- scores(rda, choices=1:2, scaling=1, display="sp")
arrows(0,0,spe.sc2[,1], spe.sc2[,2], length=0.2, lty=1, col="blue", angle = 30, lwd = 3)

# Dies würe rote Pfeile (Vektoren) für die erklärenden Variablen einzeichnen, war für mich aber nicht notwending:
#spe.sc <- scores(rda, choices=1:2, scaling=1, display="cn")
#arrows(0,0,spe.sc[,1], spe.sc[,2], length=0.2, lty=1, col="red", angle= 30)
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Redundancy analysis plotten

Beitrag von EDi »

Wieso nicht einfach

Code: Alles auswählen

plot(rda)
:?:

Tipps:

1. attach kann ich dir raten nur zu verwenden, wenn du weißt was es macht (und wenn du weißt, was es tut, willst du es nicht verwenden). Ansonsten nutze das data= Argument von rda().

2. rda ist nun eine Funktion und ein Objekt. Das kann zu Verwirrung führen (nicht für R, nur für den Nutzer) und ich rate dir, solche Namenskonflikte zu vermeiden. Nenne es z.b. example_rda
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Torsten
Beiträge: 3
Registriert: Mi Jul 01, 2020 3:11 pm

Re: Redundancy analysis plotten

Beitrag von Torsten »

Hallo EDi,

vielen Dank für deine Hinweise, ich werde sie beherzigen.

plot(rda) funktioniert zwar, gibt mir aber nicht die Grafik aus, die ich gern haben würde.

Ich schaue es mir aber trotzdem nochmal an.
Antworten