Code Beispiele für Woche 4

Wir nehmen wieder den gleichen Datensatz wie im vorherigen Kapitel, fügen jedoch noch eine Spalte Gewicht_kg hinzu:

df <- data.frame(
  Id = seq(1, 5, 1),
  Name = c("Anna", "Stephan", "Ina", "Matthias", "Katrin"),
  Geschlecht = as.factor(c("Weiblich", "Männlich", "Weiblich", "Männlich", "Weiblich")),
  Alter = c(25, 22, 19, 29, 17),
  Groesse_m = c(1.75, 1.60, 1.83, 1.95, 1.67),
  Gewicht_kg = c(60, 70, 65, 80, 55)
)

which() Funktion in R

Diese Funktion hilft dabei, Indizes in einem Datensatz zu identifizieren, die bestimmte Kriterien erfüllen. Sie ist besonders nützlich für die bedingte Auswahl oder Filterung von Datensatzzeilen.

ueber_20 <- df[which(df$Alter > 20), ]

filter() und summarise() in tidyverse

filter() dient dem Filtern von Datensatzzeilen basierend auf spezifischen Bedingungen. summarise() hilft bei der Erstellung zusammengefasster Statistiken, wie z.B. Durchschnittswerte, für gefilterte Daten.

durchschnitt_gewicht <- df %>%
  group_by(Geschlecht) %>%
  summarise(Durchschnitt = mean(Gewicht_kg))

group_by() in tidyverse

Mit group_by() lassen sich Daten nach Kategorien gruppieren, was eine differenzierte Analyse ermöglicht. Es kann genutzt werden, um aggregierte Statistiken innerhalb jeder Gruppe zu berechnen.

gruppierte_alter <- df %>%
  group_by(Geschlecht) %>%
  summarise(Durchschnittsalter = mean(Alter))

Verwendung von grid.arrange() aus dem gridExtra-Paket

Diese Funktion ermöglicht die Anordnung mehrerer Grafiken in einem Raster, was hilfreich ist, um Vergleiche zwischen verschiedenen Visualisierungen zu erleichtern.

plot1 <- ggplot(df, aes(x = Alter, y = Groesse_m)) + geom_point()
plot2 <- ggplot(df, aes(x = Geschlecht, y = Gewicht_kg)) + geom_bar(stat = "identity")

grid.arrange(plot1, plot2, nrow = 1)

Darstellung von Zusammenhängen mit GGally und ggpairs()

ggpairs() bietet eine umfassende Visualisierung der Beziehungen zwischen den Spalten eines Datensatzes und ist nützlich, um Korrelationen und Verteilungsmuster zu erkennen.

df %>% 
  select(Alter, Groesse_m, Gewicht_kg) %>% 
  ggpairs()

Pearson und Spearman Korrelationskoeffizienten mit tidyverse und cor()

Diese Funktionen berechnen den Grad des linearen (Pearson) bzw. des monotonen (Spearman) Zusammenhangs zwischen zwei Variablen, was wichtig für die Untersuchung von Datenbeziehungen ist.

# Pearson-Korrelation
df %>%
  select(Groesse_m, Gewicht_kg) %>%
  cor(method = 'pearson')
           Groesse_m Gewicht_kg
Groesse_m  1.0000000  0.5702556
Gewicht_kg 0.5702556  1.0000000
# Spearman-Korrelation
df %>%
  select(Groesse_m, Gewicht_kg) %>%
  cor(method = 'spearman')
           Groesse_m Gewicht_kg
Groesse_m        1.0        0.4
Gewicht_kg       0.4        1.0