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
Redundancy analysis plotten
Redundancy analysis plotten
- 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
Re: Redundancy analysis plotten
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)
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
Wieso nicht einfach
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
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
.
Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
.
Re: Redundancy analysis plotten
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.
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.