Seite 1 von 1

Redundancy analysis plotten

Verfasst: Mi Jul 01, 2020 3:42 pm
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

Re: Redundancy analysis plotten

Verfasst: Do Jul 02, 2020 1:56 pm
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)

Re: Redundancy analysis plotten

Verfasst: Do Jul 02, 2020 3:44 pm
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

Re: Redundancy analysis plotten

Verfasst: Do Jul 02, 2020 7:11 pm
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.