10 Auswerten: Grundlagen
10.1 Lernsteuerung
10.1.1 Lernziele
- Sie können die typischen Schritte einer Datenanalyse (von Forschungsdaten der Psychologie) benennen.
- Sie können grundlegende Forschungsdesigns auswerten (mit R).
- Sie können Grenzen Ihrer Auswertungsmethodik nennen.
10.1.2 Position im Lernpfad
Sie befinden sich im Abschnitt “Auswertung” in Abbildung 1.2. Behalten Sie Ihren Fortschritt im Projektplan im Blick, s. Abbildung 1.3.
10.1.3 Benötigte R-Pakete und Daten
In diesem Kapitel benötigen Sie die folgenden R-Pakete und Datensätze.
data_url <- "https://raw.githubusercontent.com/sebastiansauer/modar/master/datasets/extra.csv"
extra <- data_read(data_url) # aus `{easystats}`
Anstelle der Funktion data_read
könnten Sie auch read_csv
(Tidyverse) oder read.csv
(Standard-R) verwenden.
10.2 Überblick zur Datenanalyse
Mühsam haben Sie Ihre Studie geplant, minutiös den Versuchsplan ausgeheckt, pedantisch die Messinstrumente bestimmt. Dann! Die Datenerhebung! Versuchspersonen, manche nervig, manche freundlich. Ist Forschung denn so anstrengend? Endlich! Geschafft - die Daten sind im Sack, sozusagen. Die Datenerhebung ist abgeschlossen. Was jetzt?
10.2.1 Wozu ist das gut?
Würden Sie einem Medikament trauen, von dem es heißt, das Forschungsteam hatten keinen Bock, Statistik ist zu stressig, aber sie hätten da so ein Gefühl, könnte schon was bringen, die Pille, immer rein damit. Was?! Sie zögern sich das Medikament einzuwerfen? Sie hätten es lieber genauer, sicherer, belastbarer? Es ginge schließlich um ihre Gesundheit?
Also gut, Sie haben es so gewollt: Gehen Sie geradeaus weiter zur Statistik.
10.2.2 Über 7 Brücken musst du gehen: Die Schritte der Datenanalyse
flowchart TD A[Einlesen und Aufbereiten] --> Z[Zusammenfassen] Z --> V[Visualisieren] V --> M[Modellieren] M --> I[Interpretieren] I --> K[Kritisieren] K --> Ü[Amüsieren] Ü --> A
In etwas mehr Detail sieht der Fortgang Ihrer Datenanalyse so aus:
Einlesen und Aufbereiten: Nachdem Sie die Daten in R importiert haben, bereiten Sie sie auf. Das klingt läppisch, langweilig fast und nicht so cool wie Modellieren. Schon richtig. Fakt ist aber, dass dieser Teil der Analyse häufig ein Großteil der Zeit benötigt. Wahr ist: Das Daten aufbereiten ist enorm wichtig. Typische Beispiele für solche Tätigkeiten sind das Behandeln fehlender Werte, das Umformen von Tabellen und das Zähmen von Extremwerten
Zusammenfassen: Nachdem Sie die in Ordnung gebracht haben, fassen Sie sie zusammen, um zentrale Trends zu versethen. Praktisch gesprochen berechnen Sie Maße der Lage, der Streuung und des Zusammenhangs.
Visualisieren: Der Mensch ist halt ein Augentier. So ein schönes Diagramm macht einfach was her und besticht auch den strengsten Gutachter.
Modellieren: Ah, hier kommt der Teil, in dem der Connaisseur seine Muskeln spielen lassen kann: Bayes-Inferenz, multiple Regression, Moderation, Mediation, Kausalanalyse… Ich weiß, Sie können Ihre Freude kaum noch zügeln, aber geduldigen Sie sich noch einen kleinen Augenblick.
Interpretieren: So ein Modell bzw. die entsprechende Funktion in R spuckt einige Zahlen aus. Aber was sagt uns das jetzt? Das würden Sie auch gerne wissen? Prima! Finden wir es zusammen raus.
Kritisieren: Jetzt müssen Sie stark sein. Keine Analyse ist perfekt. Keine Studie ist abschließend. Niemand hat den goldenen Gral gefunden. Okay, aber bisher haben Sie sich auch noch nicht an der Sache versucht! Jedenfalls bricht niemanden ein Zacken aus der Krone, wenn man aufzeigt, wo noch Forschungslücken sind, auch nach der eigenen Studie. Oder sogar, welche Schwächen die eigene Studie bzw. Analyse hat und was man beim nächsten Mal noch berücksichtigen könnte.
Amüsieren: So, irgendwann ist auch gut. Jetzt belohnen Sie sich mal für die ganze harte Arbeit des Studierens.
10.3 Reproduzierbarkeit
Transparenz (vgl. Definition 2.4) ist ein zentrales oder das zentrale Gütemaße der Wissenschaft. Darum sollten Sie alles dran setzen, dass Ihre Studie bzw. die Analyse Ihrer Daten nachvollziehbar ist. \(\square\)
Wesentliche Faktoren für Reproduzierbarkeit sind:
- Sie reichen Ihre Rohdaten ein (inkl. Codebook)
- Sie reichen Ihr Analyseskript ein
- Sie reichen Ihre Stimuli ein (sofern nicht öffentlich verfügbar)
- Sie reichen Ihre Messinstrumente ein (sofern nicht öffentlich verfügbar)
- Sie dokumentieren Ihr Vorgehen und reichen es ein
10.4 Codebook
Ein Teil der Dokumentation ist ein Codebook (auch Data-Dictionary genannt). Ein Codebook erläutert die Namen der Variablen in Ihrer (Roh-)Datentabelle, s. Abbildung 10.1.
10.5 Wir brauchen brave Daten
Wie muss eine Tabelle aufgebaut sein, damit man sie gut in R importieren kann, bzw. gut damit weiterarbeiten kann?
Im Überblick sollten Sie auf Folgendes achten:
- Wenn Sie händisch Daten eintragen, hacken Sie das einfach in Excel sein.
- CSV-Dateien bieten sich als Datenformat an.
- Alternativ kann man auch Excel-Dateien in R importieren.
- Es muss genau eine Kopfzeile geben.
- Es darf keine Lücken geben (leere Zeilen oder Spalten oder Zellen).
- Vermeiden Sie Umlaute und Leerzeichen in den Variablennamen.
- Die Daten sollten dem Prinzip von “tidy data” folgen.
Beachten Sie das Prinzip von “tidy data”:
- In jeder Zeile steht eine Beobachtung.
- In jeder Spalte steht eine Variable.
- In jeder Zelle steht eine Wert. \(\square\)
Hier ist eine gute Quelle für weitere Erläuterung zu diesem Thema.
10.6 Checkliste zur Datenanalyse
Hier sehen Sie im Überblick die Schritte, die in vielen Fällen sinnvoll sind, um Daten auf einem guten Niveau auszuwerten.
- Vorverarbeitung
- Importieren
- Aufbereiten (Umkodieren, fehlende Wert versorgen, Transformieren, neue Spalten berechnen)
- Explorative Analyse
- Daten zusammenfassen (zentrale Tendenz, Streuung, Zusammenhang)
- Daten visualisieren
- Modellierung
- Modell berechnen
- Parameter berichten (Punkt- und Intervallschätzer)
- Parameter visualisieren
- Nullhypothesen testen (z. B. ROPE)
- Modellgüte berichten (z. B. R-Quadrat)
10.7 Rostlöser
Ihre R-Skills sind etwas eingerostet? Flutscht nicht so? Keine Sorge! Es gibt Rostlöser, der Sie schnell wieder in Schwung bringt. 🧴
10.7.1 Grundlagen der Statistik
Das Kursbuch Statistik1 beinhaltet einen Überblick über Datenaufbereitung und -visualierung sowie Modellierung mit dem linearen Modell, alles mit R.
10.7.2 Grundlagen der Inferenzstatistik
Das Kursbuch Start:Bayes! stellt einen Einstieg in die Inferenzstatistik mit der Bayes-Statistik bereit.
10.7.3 Wie man Umfragedaten auswertet
Hier finden Sie (m)eine Anleitung zur Auswertung von Umfragedaten.
10.8 Skriptbasierte vs. klickbasierte Software zur Datenanalyse
Man kann grob zwei Arten von Software-Programmen für Datenanalyse unterscheiden:
- Skriptbasierte: Man schreibt seine Befehle in einer Programmiersprache (z. B. R)
- Klickbasierte: Man klickt in einer Gui, um Befehle auszulösen (z. B. Jamovi)
Die gängigen Beispiele für skriptbasierte Software für Datenanalyse sind R und Python.
Einige empfehlenswerte(re) Programme für die klickbasierte Datenanalyse sind:
Im Folgenden sind die Vorteile der oben genannten klickbasierten Software-Programmen den Vorteilen der oben genannten skriptbasierten Software-Programmen gegenüber gestellt
10.8.1 Vorteile klickbasierter Software
- eher kostenlos (es gibt kostenpflichtige Premium-Versionen wie Jamovi Cloud)
- aktuell
- flachere Lernkurve
- R-Code integriert
10.8.2 Vorteile skriptbasierter Software
- kostenlos
- aktueller
- umfassend (klickbasierte Software kann nicht alles, was man braucht)
- steilere Lernkurve
10.9 Daten zusammenfassen (deskriptive Analyse)
Damit es einfach bleibt, begrenzen wir uns auf ein paar Variablen.
Sagen wir, das sind die Variablen, die uns interessieren:
10.9.1 Deskriptive Ergebnisse für metrische Variablen
Sie können deskriptive Ergebnisse (Ihrer relevanten Variablen) für metrische Variablen z. B. so darstellen.
Variable | Mean | SD | IQR | Min | Max | Skewness | Kurtosis | n | n_Missing |
---|---|---|---|---|---|---|---|---|---|
n_facebook_friends | 532.61 | 3704.48 | 300.0 | 0.0 | 96055 | 25.67 | 662.76 | 671 | 155 |
n_hangover | 9.47 | 30.72 | 9.0 | 0.0 | 738 | 17.54 | 399.53 | 800 | 26 |
age | 25.50 | 5.75 | 6.0 | 18.0 | 54 | 1.81 | 4.39 | 813 | 13 |
extra_single_item | 2.79 | 0.86 | 1.0 | 1.0 | 4 | -0.27 | -0.60 | 816 | 10 |
n_party | 17.38 | 19.32 | 19.0 | 0.0 | 150 | 3.27 | 16.10 | 793 | 33 |
extra_mean | 2.89 | 0.45 | 0.6 | 1.2 | 4 | -0.43 | -0.11 | 822 | 4 |
kable()
macht aus dem drögen Output in der R-Konsole eine schicke HTML-Tabelle1, wenn man das Quarto-Dokument rendert.
Statt select(any_of(extra_corr_names))
könnten Sie natürlich auch schreiben select(n_facebook_friends, ...)
, wobei Sie für die drei Punkte alle Variablen von Interesse nennen würden.
Praktischerweise kann man describe_distribution
auch für gruppierte Datensätze nutzen, um so gruppierte Verteilungsmaße zu bekommen:
extra |>
group_by(sex) |>
describe_distribution(extra_mean)
10.9.2 Deskriptive Ergebnisse für nominale Variablen
10.9.2.1 Univariate Häufigkeiten
Lassen wir uns die Häufigkeiten für sex
und für smoker
ausgeben, also für jede Variable separat (univariat).
Mit tidyverse
kann man das in vertrauter Manier bewerkstelligen:
extra |>
count(sex)
Etwas schicker sieht es aus mit data_tabulate
aus easystats
:
extra |>
select(sex, smoker) |>
#drop_na() |> ggf. ohne fehlende Werte
data_tabulate()
## sex (sex) <character>
## # total N=826 valid N=815
##
## Value | N | Raw % | Valid % | Cumulative %
## ------+-----+-------+---------+-------------
## Frau | 529 | 64.04 | 64.91 | 64.91
## Mann | 286 | 34.62 | 35.09 | 100.00
## <NA> | 11 | 1.33 | <NA> | <NA>
##
## smoker (smoker) <character>
## # total N=826 valid N=12
##
## Value | N | Raw % | Valid % | Cumulative %
## --------------------------------+-----+-------+---------+-------------
## Gelegentlich (z. B. auf Partys) | 1 | 0.12 | 8.33 | 8.33
## Ja | 3 | 0.36 | 25.00 | 33.33
## Nein | 8 | 0.97 | 66.67 | 100.00
## <NA> | 814 | 98.55 | <NA> | <NA>
Wir können uns auch die bivariaten Häufigkeiten ausgeben lassen.
extra |>
drop_na(sex, smoker) |> # fehlende Werte entfernt
group_by(sex) |>
data_tabulate("smoker")
## smoker (smoker) <character>
## Grouped by sex (Frau)
## # total N=10 valid N=10
##
## Value | N | Raw % | Valid % | Cumulative %
## --------------------------------+---+-------+---------+-------------
## Gelegentlich (z. B. auf Partys) | 1 | 10.00 | 10.00 | 10.00
## Ja | 1 | 10.00 | 10.00 | 20.00
## Nein | 8 | 80.00 | 80.00 | 100.00
## <NA> | 0 | 0.00 | <NA> | <NA>
##
## smoker (smoker) <character>
## Grouped by sex (Mann)
## # total N=2 valid N=2
##
## Value | N | Raw % | Valid % | Cumulative %
## ------+---+--------+---------+-------------
## Ja | 2 | 100.00 | 100.00 | 100.00
## <NA> | 0 | 0.00 | <NA> | <NA>
10.9.3 Korrelationen darstellen
In einer Umfrage erhebt man häufig mehrere Variablen, ein Teil davon oft Konstrukte. Es bietet sich in einem ersten Schritt an, die Korrelationen dieser Variablen untereinander darzustellen.
10.9.3.1 Korrelationsmatrix
Parameter | extra_mean | n_party | extra_single_item | age | n_hangover |
---|---|---|---|---|---|
n_facebook_friends | 0.05 | 0.08 | 0.07 | -0.03 | 0.13 |
n_hangover | 0.06 | 0.34 | -0.02 | -0.06 | NA |
age | -0.14 | -0.21 | -0.03 | NA | NA |
extra_single_item | 0.57 | 0.06 | NA | NA | NA |
n_party | 0.25 | NA | NA | NA | NA |
Sie möchten das Ergebnis als normalen R-Dataframe? Sie haben keine Lust auf dieses Rumgetue, sondern wollen das lieber als selber gerade ziehen. Also gut:
cor_results <-
extra %>%
select(any_of(extra_corr_names)) %>%
correlation() %>%
summary()
cor_results
Man kann sich die Korrelationsmatrix auch in der Bayes-Geschmacksrichtung ausgeben lassen:
extra %>%
select(any_of(extra_corr_names)) %>%
correlation(bayesian = TRUE) %>%
summary() %>%
kable(digits = 2)
Parameter | extra_mean | n_party | extra_single_item | age | n_hangover |
---|---|---|---|---|---|
n_facebook_friends | 0.04 | 0.08 | 0.07 | -0.04 | 0.13 |
n_hangover | 0.05 | 0.33 | -0.02 | -0.06 | NA |
age | -0.14 | -0.21 | -0.03 | NA | NA |
extra_single_item | 0.57 | 0.06 | NA | NA | NA |
n_party | 0.25 | NA | NA | NA | NA |
10.9.3.2 Korrelationsmatrizen visualisieren
Viele R-Pakete bieten sich an. Nehmen wir easystats.
10.10 Aufgaben
Auf dem Datenwerk finden Sie eine Anzahl an Aufgaben zum Thema Datenanalyse. Schauen Sie sich mal die folgenden Tags an:
10.11 Fallstudien
Fallstudien zur explorativen Datenanalyse (EDA; d. h. deskriptive Statistik und Datenvisualisierung) finden Sie z. B. im Datenwerk:
funktioniert auch in Word und PDF↩︎