Veränderung von zwei Variablen darstellen

Wie erstelle ich Grafiken, was ist zu beachten?

Moderatoren: EDi, jogo

Antworten
ap_student_93
Beiträge: 1
Registriert: Fr Dez 18, 2020 12:19 am

Veränderung von zwei Variablen darstellen

Beitrag von ap_student_93 »

Hallo zusammen,

Ich habe in meinen Daten eine Spalte "Vorher" mit Variablen von -3 bis 3 und eine Spalte "Nachher" ebenfalls mit dazugehörigen Variablen von -3 bis 3.
Jetzt würde ich gerne so ähnlich, wie in dieser Beispiel-Grafik eine Veränderung darstellen mit den Spaltennamen auf der x-Achse. Der Unterschied zur Grafik sollte aber sein, dass man die einzelnen Variablen auch als Punkte sieht.
abb53.gif
abb53.gif (5.35 KiB) 370 mal betrachtet
Ich bin kompletter Anfänger in R und mit ggplot und co. etwas überfordert. Vielleicht kann mir einer von euch helfen.
Vielen Dank im voraus!
bigben
Beiträge: 2781
Registriert: Mi Okt 12, 2016 9:09 am

Re: Veränderung von zwei Variablen darstellen

Beitrag von bigben »

Hallo!

ggplot2 erwartet die Daten in der langen Form, d. h. möglichst nicht nebeneinander, sondern untereinander. Schau Dir mal dieses Beispiel an:

Code: Alles auswählen

stimmung <- data.frame(stimmung = c(2.56, 0.6, -1.4, 2.7, 1.4, -.8),
                       treat = rep(c("Erfolg", "Kontrolle", "Misserfolg"),2),
                       Angstkonzept = c("hoch", "hoch", "hoch", "niedrig", "niedrig","niedrig"),
                       stringsAsFactors = TRUE)
print(stimmung)

library(ggplot2)
ggplot(stimmung) +
  geom_point(aes(x = treat, y=stimmung, color = Angstkonzept), size = 3) +
  geom_path(aes(x = treat, y=stimmung, group = Angstkonzept, color = Angstkonzept), lwd = 1.2) +
  geom_text(aes(x = treat, y=stimmung+.1, label = stimmung)) +
  xlab("Treatment") + 
  ylab("Stimmung") +
  theme_bw()
LG,
Bernhard


Nachtrag:
Die Beschriftung der Datenpunkte mit Werten gelingt nochmal besser, wenn man das Zusatzpaket ggrepel nutzt. Wenn Du das mit

Code: Alles auswählen

install.packages("ggrepel")
installiert hast könnte Dein Plot etwa so aussehen:

Code: Alles auswählen

stimmung <- data.frame(stimmung = c(2.56, 0.6, -1.4, 2.7, 1.4, -.8),
                       treat = rep(c("Erfolg", "Kontrolle", "Misserfolg"),2),
                       Angstkonzept = c("hoch", "hoch", "hoch", "niedrig", "niedrig","niedrig"),
                       stringsAsFactors = TRUE)
library(ggplot2)
library(ggrepel)
ggplot(stimmung) +
  geom_hline(yintercept = 0, color = "darkgrey") +
  geom_label_repel(aes(x = treat, y=stimmung, label = stimmung, color=Angstkonzept), show.legend = NULL ,
                   nudge_x = -.1)+
  geom_path(aes(x = treat, y=stimmung, group = Angstkonzept, color = Angstkonzept), lwd=1.2) +

  geom_point(aes(x = treat, y=stimmung, pch = Angstkonzept), size = 3) +
  xlab("Treatment") + 
  ylab("Stimmung") +
  theme_bw()
Rplot07.jpeg
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten