flowchart LR A["▥"] --> B[tidyverse-Befehl] --> C["▥"]
Daten umformen
arrange, filter, select, summarise, group_by, mutate.Einstieg
Definition: Datenjudo
Mit Datenjudo meint man den Prozess des Aufbereitens, Umformens oder Zusammenfassens von Daten — sei es für einzelne Beobachtungen (Zeilen), Variablen (Spalten) oder eine ganze Datentabelle.
Einstieg
Laut Harvard Business Review verbringen Data Scientisten ca. 80 % ihrer Zeit mit dem Aufbereiten von Daten (Bowne-Anderson, 2018).
Uncoole Tätigkeiten wie Tippfehler entfernen oder Daten nutzbar machen — aber unverzichtbar. Das Aufbereiten von Daten verlangt keine aufwändige Mathematik, sondern ein paar Handgriffe und Kniffe: das Datenjudo.
Einstieg
Komplexe Datenaufbereitung wird elegant, wenn man sie in einfache Teilschritte zergliedert — so wie ein komplexes Lego-Modell aus einfachen Bausteinen besteht.
Einstieg
Im R-Paket dplyr (Teil von tidyverse) gibt es eine Handvoll Verben, die das Datenjudo abdecken. Wir betrachten sie zunächst an einem kleinen Spielzeug-Datensatz:
| id | name | gruppe | note |
|---|---|---|---|
| 1 | Anni | A | 2.7 |
| 2 | Berti | A | 2.7 |
| 3 | Charli | B | 1.7 |
Die Verben wohnen im Paket dplyr, das mit library(tidyverse) gestartet wird.
Die Verben des Datenjudos
arrangeDie Verben des Datenjudos
filterDie Verben des Datenjudos
selectDie Verben des Datenjudos
summarisesummarise fasst eine Spalte zu einer einzelnen Zahl zusammen.
Die Verben des Datenjudos
group_byGruppieren teilt die Tabelle in Teiltabellen — nachfolgende Berechnungen laufen für jede Teiltabelle einzeln.
Die Verben des Datenjudos
mutatemutate berechnet eine (neue oder bestehende) Spalte für jede Zeile neu — z. B. addieren, multiplizieren, transformieren.
Die Verben des Datenjudos
countBei nominalskalierten Daten reicht oft schon das Zählen der Zeilen:
Liefert Häufigkeiten je Ausprägung — und mit mutate gleich noch den Anteil.
Die Verben des Datenjudos
Tidyverse-Befehle erwarten typischerweise eine Tabelle als Input und liefern eine Tabelle als Output zurück.
flowchart LR A["▥"] --> B[tidyverse-Befehl] --> C["▥"]
Die Verben des Datenjudos
Definition: Pfeife
“Und dann” heißt auf Errisch %>% oder (synonym) |>. Man nennt diesen Befehl “Pfeife” (engl. pipe).
Die Pfeife %>% wohnt im Paket tidyverse (genauer: magrittr). Seit R 4.1 gibt es auch eine eingebaute Pfeife: |>.
Die Pfeife
R arbeitet einen verschachtelten Befehl von innen nach außen ab:
sum(x - mean(x))sum(x - 2)sum(-1, 0, 1)0Bei mehr Verschachtelung wird es schnell unübersichtlich:
Die Pfeife
Statt verschachtelt schreibt man mit der Pfeife die Schritte nacheinander:
flowchart LR A["▥"] --filter<br>zeilen-->B["▥"] B --wähle<br>spalten--> C["▥"] C --gruppiere--> D["▥"] D --fasse<br>zusammen--> E["▥"]
filter(mariokart, x) entspricht mariokart |> filter(x). Allgemein: d |> f(x) = f(d, x).
Die Pfeife
Das teuerste Spiel mit Foto kostet 75 Dollar (neu) bzw. 62 Dollar (gebraucht).
Beispiele für Forschungsfragen
Getrennt nach Anzahl der Lenkräder, nur Gruppen mit mind. 10 Spielen:
Die mittleren Versandkosten liegen zwischen 2.7 und 3.6 Dollar, je nach Anzahl der Lenkräder.
Beispiele für Forschungsfragen
Mittlerer Verkaufspreis in Yen, minus 10 % Provision:
summarise kann auch mehrere Berechnungen gleichzeitig ausführen.
Beispiele für Forschungsfragen
Mulukom et al. (2020) untersuchten psychologische Auswirkungen der Covid19-Pandemie (Vereinsamung, Angst, Depression) — angemeldet unter der Projekt-ID tsjnb bei der Open Science Foundation.
Die R-Syntax zur Datenaufbereitung ist öffentlich einsehbar — ein guter Teil davon entspricht dem, was Sie in diesem Kapitel gelernt haben. Ein Beispiel dafür, wie angewandte Forschung und ein akutes gesellschaftliches Problem zusammenkommen.
Praxisbezug
Eine Analystin möchte zeigen, dass der Verkaufspreis “viel zu niedrig” ist (Ist-Wert: 50 Euro):
Der ungewichtete Mittelwert über die Gruppen (56 Euro) ist falsch und irreführend — der korrekte, gewichtete Mittelwert ergibt weiterhin 50 Euro.
Wie man mit Statistik lügt
Forschungsfragen zum Datensatz penguins (Zielvariable: Gewicht):
Fallstudien
Internationale Erhebung zu psychologischem Stress, Verhaltensregeln und Vertrauen in Institutionen während der Covid19-Pandemie — Daten frei verfügbar zur eigenständigen Analyse.
Fallstudien
arrange, filter, select, summarise, group_by, mutate (+ count)%>% bzw. |>) verkettet Befehle statt sie zu verschachteln: d |> f(x) = f(d, x)![]()
Statistik1 — Daten umformen