Grafik zur Darstellung von Polaritäten
Grafik zur Darstellung von Polaritäten
Hallo ihr Lieben,
ich möchte gern Polaritäten in R in einer hübschen Grafik darstellen.
Ausgangslage waren 4 Fragen, bei denen man angeben sollte, ob man sich eher zu der Option auf der rechten Seite oder zu der auf der linken Seite hingezogen fühlt. Es gab die Abstufungen 1 - 4 (1 für die Option ganz links, 4 für die Option ganz rechts und entsprechend 2 und 3 dazwischen). Beispiel: sind Sie eher introvertiert oder eher extrovertiert. Antwort: 4 (entspricht "total extrovertiert") - im folgenden "Pol" für Polarität genannt.
Die Personen wurden dann noch in drei Gruppen eingeteilt, die wir hier mal exemplarisch als A, B und C bezeichnen.
Die Daten sehen also so aus:
Fall - Gruppe - Pol
1 - B - 2
2 - C - 4
3 - A - 1
4 - A - 3
usw.
Ich hätte nun gern eine schöne Darstellung aus R, die in etwa so aussieht, wie die angehängte Datei.
Es sollen die jeweiligen Polaritäten dargestellt werden, sowie die Mittelwerte der Gesamtstichprobe und die Mittelwerte für jede der drei Gruppen.
Funktioniert das irgendwie?
Vielen Dank!
ich möchte gern Polaritäten in R in einer hübschen Grafik darstellen.
Ausgangslage waren 4 Fragen, bei denen man angeben sollte, ob man sich eher zu der Option auf der rechten Seite oder zu der auf der linken Seite hingezogen fühlt. Es gab die Abstufungen 1 - 4 (1 für die Option ganz links, 4 für die Option ganz rechts und entsprechend 2 und 3 dazwischen). Beispiel: sind Sie eher introvertiert oder eher extrovertiert. Antwort: 4 (entspricht "total extrovertiert") - im folgenden "Pol" für Polarität genannt.
Die Personen wurden dann noch in drei Gruppen eingeteilt, die wir hier mal exemplarisch als A, B und C bezeichnen.
Die Daten sehen also so aus:
Fall - Gruppe - Pol
1 - B - 2
2 - C - 4
3 - A - 1
4 - A - 3
usw.
Ich hätte nun gern eine schöne Darstellung aus R, die in etwa so aussieht, wie die angehängte Datei.
Es sollen die jeweiligen Polaritäten dargestellt werden, sowie die Mittelwerte der Gesamtstichprobe und die Mittelwerte für jede der drei Gruppen.
Funktioniert das irgendwie?
Vielen Dank!
Re: Grafik zur Darstellung von Polaritäten
Hallo Thy,
herzlich willkommen im Forum. Schau Dir bitte mal diesen älteren Thread und meine beiden Code-Beispiele in dem Thread an. Geht das in die richtige Richtung? Wenn ja, was fehlt, wenn nein, warum? Link: viewtopic.php?f=9&t=1363
LG,
Bernhard
herzlich willkommen im Forum. Schau Dir bitte mal diesen älteren Thread und meine beiden Code-Beispiele in dem Thread an. Geht das in die richtige Richtung? Wenn ja, was fehlt, wenn nein, warum? Link: viewtopic.php?f=9&t=1363
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Grafik zur Darstellung von Polaritäten
Hallo Thy,
ich bin mal über folgendes gestolpert:
a: https://bookdown.org/Rmadillo/likert/al ... alize.html
b: http://rcrastinate.blogspot.com/2016/07 ... sults.html
oder c schlicht das Likert-Paket:
ich bin mal über folgendes gestolpert:
a: https://bookdown.org/Rmadillo/likert/al ... alize.html
b: http://rcrastinate.blogspot.com/2016/07 ... sults.html
oder c schlicht das Likert-Paket:
likert: Analysis and Visualization Likert Items
An approach to analyzing Likert response items, with an emphasis on visualizations. The stacked bar plot is the preferred method for presenting Likert results. Tabular results are also implemented along with density plots to assist researchers in determining whether Likert responses can be used quantitatively instead of qualitatively. See the likert(), summary.likert(), and plot.likert() functions to get started.
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube
Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube
Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
Re: Grafik zur Darstellung von Polaritäten
Vielen Dank, das geht auf jeden Fall in die richtige Richtung, wobei ich da als Quintessenz verstanden habe, dass es eher mit den Basismitteln funktioniert und nicht mit ggplot, was ich mir gewünscht hätte.
Mit dem ersten Antwortpost von dir habe ich mich ein bisschen versucht und nun sieht es mit meinen Daten so aus:
Die Eingabe war wie folgt:
Code: Alles auswählen
links <- c("Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx ", "Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx ", "Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx ", "Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx ")
rechts <- c("Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx ", "Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx ", "Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx ", "Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx ")
Gesamt <- c(2.52, 2.93, 1.49, 2.79)
plot(Gesamt, 1:length(item), xlim=c(1,4), col="darkred", cex=2, pch=16,
xaxt="n", yaxt="n",
xlab="", ylab="")
axis(side=1, at=1:4)
axis(side=2, at=1:length(links), labels=links, las=1)
axis(side=4, at=1:length(rechts), labels=rechts, las=1)
abline(h=1:length(links), lty=3, col="grey")
abline(v=1:4, lty=3, col="grey")
oEkl <- c(2.67, 3.28, 1.64, 2.69)
points(oEkl, 1:length(item), col="darkcyan", cex=1, pch=16)
mEkl <- c(2.5, 2.89, 1.48, 2.81)
points(mEkl, 1:length(item), col="gray44", cex=1, pch=16)
uEkl <- c(2.46, 2.71, 1.36, 2.79)
points(uEkl, 1:length(item), col="aquamarine3", cex=1, pch=16)
Kannst du mir dazu nochmal weiterhelfen?
Vielen Dank!
Zuletzt geändert von Thy am Sa Apr 24, 2021 6:13 pm, insgesamt 4-mal geändert.
Re: Grafik zur Darstellung von Polaritäten
student hat geschrieben: ↑So Apr 18, 2021 1:48 pm a: https://bookdown.org/Rmadillo/likert/al ... alize.html
b: http://rcrastinate.blogspot.com/2016/07 ... sults.html
Das trifft es leider nicht so ganz. Trotzdem lieben Dank!
Re: Grafik zur Darstellung von Polaritäten
Schnellantwort: Warum hast Du den par Teil aus meinem Code weggelassen? Nimm den mal an den Anfang Deines Codes und ersetze die 6 durch eine etwas größere Zahl.
LG, Bernhard
LG, Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Grafik zur Darstellung von Polaritäten
Ich wollte gerade eine längere Antwort verfassen, aber Dein Code-Beispiel oben ist kein reproduzierbares:
LG,
Bernhard
Code: Alles auswählen
> plot(Gesamt, 1:length(item), xlim=c(1,4), col="darkred", cex=2, pch=16,
+ xaxt="n", yaxt="n",
+ xlab="", ylab="")
Fehler in xy.coords(x, y, xlabel, ylabel, log) :
Objekt 'item' nicht gefunden
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Grafik zur Darstellung von Polaritäten
So, jetzt doch noch ne längere Antwort. Ich bin zwar immer noch nicht die hellste ggplot2-Leuchte im Forum, aber so in etwa könnte man das anfangen:
Ist halt keine universelle Lösung, sondern müsste im Einzelfall angepasst werden. Bei Deinen langen Beschriftungen vor allem natürlich die limits in scale_x_continuous.
LG,
Bernhard
Code: Alles auswählen
beschriftung <- data.frame(
zeile = 1:5,
links = c("Alpha", "Bravo", "Charly", "Delta", "Echo\n(two lines)"),
rechts= c("Anton", "Bertha", "Caesar", "Dora", "Emil\nzweizeilig"))
werte <- data.frame(zeile = as.integer(gl(5,3)),
wert = runif(15, min = 1, max = 7),
farbe = factor(rep(1:3, 5)))
library(ggplot2)
ggplot(beschriftung) +
geom_text(aes(x = 0, y = 6-zeile, label = links), hjust = "right") +
geom_text(aes(x = 8, y = 6-zeile, label = rechts), hjust = "left") +
scale_x_continuous(name = "Itemvalue", limits = c(-4,12),
breaks = 1:7, minor_breaks = NULL) +
scale_y_continuous(name = "", breaks = NULL) +
geom_segment(aes(x = 1, xend = 7, y = 1:5, yend = 1:5), color = "lightgrey",
lwd = 2) +
geom_point(data = werte, mapping =
aes(x = wert, y = 6-zeile, color = farbe), size = 5, alpha = .5) +
theme_bw()
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Grafik zur Darstellung von Polaritäten
Was ist der "par Teil"? In meinem Code ist nirgends eine 6, weiß daher nicht, was ich ersetzen soll... Sorry, dass ich da so schwer von Begriff bin
Re: Grafik zur Darstellung von Polaritäten
Vielen Dank, das find ich schon mal gut.
Ich habe etwas rumprobiert, hänge aber noch an ein paar Stellen.
Das ist meine angepasste Eingabe:
Code: Alles auswählen
beschriftung <- data.frame(
zeile = 1:4,
links = c("Individuelle Angebote für \nEinzelpersonen/\nPersonengruppen", "Bravo", "Charly", "Delta"),
rechts= c("Alle Mitarbeiter erhalten \nidentische Benefits", "Bertha", "Caesar", "Dora"))
werte <- data.frame(zeile = as.integer(gl(5,3)),
wert = runif(15, min = 1, max = 4),
farbe = factor(rep(1:3, 5)))
ggplot(beschriftung) +
geom_text(aes(x = 0, y = 5-zeile, label = links), hjust = "right") +
geom_text(aes(x = 6, y = 5-zeile, label = rechts), hjust = "left") +
scale_x_continuous(name = "Polaritäten", limits = c(-5,11),
breaks = 1:5, minor_breaks = NULL) +
scale_y_continuous(name = "", breaks = NULL) +
geom_segment(aes(x = 1, xend = 5, y = 1:4, yend = 1:4), color = "lightgrey",
lwd = 1) +
geom_point(data = werte, mapping =
aes(x = wert, y = 6-zeile, color = farbe), size = 4, alpha = .5) +
theme(panel.background = element_rect(fill = "transparent", colour = NA),
panel.grid.major = element_line(colour="gray88"), legend.position = "bottom",
axis.title.x = element_text(face="bold", size=13, margin = margin(t = 20, r = 0, b = 0, l = 0)),
axis.title.y = element_text(face="bold", size=13, margin = margin(t = 0, r = 20, b = 0, l = 0)),
axis.text.y = element_text(size=12),
axis.text.x = element_text(size=12),
legend.text = element_text(size=12))
Meine Fragen also:
1. Wie kriege ich oben die Zeile aus, die nicht mehr beschriftet ist? Ich habe nur 4 Zeilen und nicht 5.
2. Wie kann ich die Stufen in der Legende umbenennen?
Rein soll:
Code: Alles auswählen
levels=c("obere", "mittlere", "untere")
Folgende brauche ich:
Code: Alles auswählen
values=c("darkcyan", "gray44", "aquamarine3")
Code: Alles auswählen
Rein müssen ein mal der Mittelwert der Gesamten Stichprobe:
Gesamt <- c(2.52, 2.93, 1.49, 2.79)
sowie die Mittelwerte meiner 3 Gruppen:
oEkl <- c(2.67, 3.28, 1.64, 2.69)
mEkl <- c(2.5, 2.89, 1.48, 2.81)
uEkl <- c(2.46, 2.71, 1.36, 2.79)