Antwort mit KI erzeugt
Programmieren eines gestapelten Säulendiagramms in R mit ggplot2
Zur Erstellung eines gestapelten Säulendiagramms, das die durchschnittlichen jährlichen Stunden für Sportaktivitäten nach Alter, Geschlecht und Nationalität darstellt, können wir den
ggplot2
-Befehl in R verwenden, der für seine Flexibilität und Anpassbarkeit bekannt ist. Hier ist, wie Sie es Schritt für Schritt machen können:
1. Daten vorbereiten
Zunächst müssen wir die vorliegenden Daten in R importieren und in ein geeignetes Format bringen. Dabei denken wir daran, dass in Ihrer Frage die
Geschlecht
-Variable für die Altersgruppe "31-50" klein geschrieben ist ("w" statt "W"), was wir in den Daten bereinigen müssen, um Konsistenz zu gewährleisten.
r
# Daten erstellen
daten <- data.frame(
Altersgruppe = c("18-30", "18-30", "18-30", "18-30", "18-30", "18-30", "18-30", "18-30",
"31-50", "31-50", "31-50", "31-50", "31-50", "31-50", "31-50", "31-50",
"51-65", "51-65", "51-65"),
Nationalitaet = c("D", "GB", "F", "I", "D", "GB", "F", "I",
"D", "GB", "F", "I", "D", "GB", "F", "I",
"D", "GB", "F"),
Geschlecht = c("W", "W", "W", "W", "M", "M", "M", "M",
"w", "w", "w", "w", "M", "M", "M", "M",
"w", "w", "w"),
Anzahl_befragte_Personen = c(837, 652, 902, 638, 815, 956, 793, 1021,
956, 768, 920, 785, 687, 919, 702, 454,
731, 1023, 722),
durchschnittlicher_jaehrlicher_Zeitaufwand_fuer_Sport_in_Stunden = c(250, 289, 294, 256, 356, 398, 363, 368,
200, 205, 189, 172, 230, 224, 227, 256,
241, 273, 242)
)
# Geschlechtswerte vereinheitlichen
daten$Geschlecht <- toupper(daten$Geschlecht)
print(head(daten))
2. ggplot2 verwenden
Nun verwenden wir
ggplot2
, um das gestapelte Säulendiagramm zu erzeugen. Dabei fassen wir die Stunden nach Nationalität und Altersgruppe zusammen.
r
# ggplot2 Bibliothek laden
library(ggplot2)
# Gestapeltes Säulendiagramm zeichnen
ggplot(daten, aes(x = Nationalitaet, y = durchschnittlicher_jaehrlicher_Zeitaufwand_fuer_Sport_in_Stunden, fill = Altersgruppe)) +
geom_bar(stat = "identity", position = "stack") +
labs(title = "Durchschnittlicher jährlicher Zeitaufwand für Sport",
x = "Nationalität",
y = "Zeitaufwand in Stunden",
fill = "Altersgruppe") +
theme_minimal() +
scale_fill_brewer(palette = "Set3")
In diesem Code:
- Mit
aes
definieren wir die Ästhetik unseres Diagramms: die x-Achse (Nationalität), die y-Achse (Stunden) und die Füllfarbe basierend auf der Altersgruppe.
-
geom_bar(stat = "identity", position = "stack")
erzeugt das gestapelte Säulendiagramm.
stat = "identity"
nutzt die Datenwerte direkt für Höhen der Säulen, und
position = "stack"
stapelt die Werte für unterschiedliche Altersgruppen in jeder Nationalität.
- Mit
labs
und
scale_fill_brewer
passen wir die Beschriftungen und das Farbschema des Diagramms an.
Das Ergebnis dieses Codes ist ein gestapeltes Säulendiagramm mit vier Säulen, eine für jede Nationalität, wobei jede Säule die Zeitaufwendungen für Sport nach Altersgruppen aufgeteilt und übereinander gestapelt zeigt.