df |>
group_by(var1, var2) |>
summarise(n = n())Unit 3
Gruppen Transformieren mit dplyr
Tastaturkürzel
| Einen neuen Code-chunk hinzufügen | Ctrl + Alt + I |
| Code “Zeile für Zeile” innerhalb eines Code-chunks ausführen | Ctrl + Enter |
| Den gesamten Code-chunk ausführen | Ctrl + Shift + Enter |
| (Aus-)kommentieren | Ctrl + Shift + C |
Das Pipe |> |
Ctrl + Shift + M |
Der Zuweisungs-Operator <- |
Alt + - |
group_by(), summarise(), n() und count()
Die Funktion group_by() wird genutzt um einen existierenden Dataframe in einen gruppierten Dataframe zu konvertieren, sodass die folgenden Operationen auf der Ebene der Gruppen angewandt werden.
Mit der Funktion summarise() wird ein neuer Dataframe erstellt. Dieser enthält eine Spalte für jede angegebene zusammenfassende Operation und eine Zeile für jede Kombination der Gruppierungsvariablen.
Die Funktion n() gibt die Anzahl der Beobachtungen in einer aktuellen Gruppe zurück. Sie kann nur innerhalb von summarise() (und mutate() und filter()) verwendet werden.
group_by() + summarise() + n() count(), sodass die zwei folgenden code chunks equivalent sind:
df |> count(var1, var2)Aufgaben
Lade
tidyverse,skimrundpalmerpenguinsPackages.Verwende
group_by()undsummarise()um herauszufinden, wie viele Pinguine es pro Art gibt.
# penguins |>
# group_by(___) |>
# summarise(n = ___)- Was ist das Minimum und Maximum
bill_length_mmprospecies?
# penguins |>
# group_by(___) |>
# summarise(min_bill = ___,
# max_bill = ___)- Was ist die Proportion von Pinguine pro
species? Hint:sum(var)summiert alle Werte in der Variablevar.
# penguins |>
# group_by(___) |>
# summarise(n = ___) |>
# mutate(prop = ___ / ___)# penguins |>
# count(___) |>
# mutate(prop = ___ / ___)- Nimm “Adelie” raus. Wie viele Pinguine gibt es pro
species? Prozente?
# penguins |>
# filter(___) |>
# group_by(___) |>
# summarise(n = ___) |>
# mutate(prop = ___ / ___)# penguins |>
# filter(___) |>
# count(___) |>
# mutate(prop = ___ / ___)- Benutze
group_by()undsummarise()um zu rechnen, wie viele Pinguine es prospecies/island-Kombination gibt (auch Prozente).
# penguins |>
# group_by(___) |>
# summarise(___) |>
# mutate(___)Etwas stimmt mit den Proportionen nicht! Wie können wir das gewünschte Ergebnis erhalten? Hint: Schaue dir genau die Warnung und den resultierenden Dataframe.
Benutze
count()um zu rechnen, wie viele Pinguine es prospecies/island-Kombination gibt (auch Prozente).
# penguins |>
# count(___) |>
# mutate(prop = ___ / ___)Was bewirkt das Argument `sort` bei `count()`?
# penguins |> count(___, sort = ___)- Erstelle Violin- und Boxplots, die die Quantiles und Median des Gewichts pro Insel und Art zeigen (
body_mass_gauf der y-Achse,speciesauf der x-Achse, Facetierung mitisland). Benutze das color schemeggthemes::scale_color_colorblind().
# library(ggthemes)
# penguins |>
# ggplot(aes(
# x = ___,
# y = ___,
# colour = ___
# )) +
# geom_violin(width = 1.4) +
# geom_boxplot() +
# geom_jitter(alpha = 0.3) +
# facet_wrap(~ ___) +
# labs(
# x = "",
# y = "Gewicht"
# ) +
# theme_minimal() +
# theme(legend.position="none") +
# scale_colour_colorblind() # Colour-blind friendly