Erstellen eines (reproduzierbaren) Data Reports mit Datenvisualisierungen zu unserem Experiment.
das Erstellen von R Markdown Files
das Verwenden des ggplot2-packages
Hands-on
Wir arbeiten heute in einem R-Markdown-File. So können wir Code und normalen Text verbinden, auch die Outputs des Codes (unsere Grafiken) werden anzeigt. Auf diese Weise erstellen wir reproduzierbare Grafiken.
Öffnen Sie das RStudio-Project dataviz. Falls Sie diesen noch nicht heruntergeladen haben, laden Sie hier den Projektordner herunter und entzippen Sie diesen.
Öffnen Sie unter File > New File > R Markdown ... ein neues RMarkdown-File.
Geben Sie einen Titel und Ihren Namen ein und wählen Sie HTMLals Output-Format
Speichern Sie dass Dokument unter dem Namen data_viz_exampleab.
Grafiken erstellen mit ggplot
Wir werden das package ggplot2in Rverwenden. ggsteht hierbei für Grammar of Graphics. Der anfangs oft etwas unintuitive Aufbauvon ggplot lässt sich vereinfachen, wenn man berücksichtigt, dass Grafiken aus den unten beschriebenen Bauteilen zusammengesetzt werden und sich damit vollständig beschreiben lassen.
Daten visualisieren erfordert:
Daten
Geome, also sichtbare Formen (aesthetics), z.B. Punkte, Linien oder Boxen.
Koordinatensystem/Mapping: wie sind Daten und Geome verbunden?
Weitere optionale Parameter sind:
Statistische Parameter
Position
Koordinatenfunktionen
Facets
Scales
Themes
Wir werden uns heute vor allem mit den Daten, Geomen und Mappings befassen. Zudem werden wir vor allem Facets und Themes genauer anschauen.
Daten
Zuerst laden wir das tidyverse Package und lesen das im Ordner data_example gespeicherte .csv File ein und machen die Variable condition zu einem Faktor. Wir schauen uns die Daten mit glimpse() an. Passen Sie hierzu den Datei-Pfad an Ihren Ordner an.
Am einfachsten ist das plotten, wenn die Daten im long-Format vorliegen. Das bedeutet:
Jede Variable die gemessen/erhoben wird hat eine Spalte (z.B. Versuchspersonennummer, Reaktionszeit, Taste).
Jede Messung hat eine Zeile. In unserem PsychoPy-Experiment entspricht dies einer Zeile pro Trial.
Die hier eingelesenen Daten sind schon im long-Format.
Variablen
Bevor wir weiterfahren, müssen wir wissen, welche Variablen wir plotten möchten und welches Skalenniveau diese Variablen haben. Je nach Anzahl Variablen und den entsprechenden Skalenniveaus eignen sich andere Grafik-Formen.
CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=724035
Hands-on
Schauen Sie sich den Datensatz an.
Wie viele unterschiedliche Variablen gibt es?
Wie heissen die Variablen?
Welches Skalenniveau haben sie?
Subsetting
Manchmal möchte man nur einen Teil der Daten plotten. Der aktuelle Datensatz enthält beispielsweise verschiedene Bedingungen, jeweils mit Werten für Variable value1 und value2. Folgende 13 Bedingungen sind enthalten:
Wir haben nun die Daten eingegeben, aber noch keine Formen und kein Mapping, deshalb ist die Grafik leer.
Geom / Formen
In ggplot wird die Form mit geom_ hinzugefügt. Beispielsweise werden mit geom_point() Punkte erstellt, mit geom_line() Linien, mit geom_boxplot Boxplots, usw. Bei der Wahl der passenden Form kommt es einerseits auf die Daten an. Sind die Daten nominal, ordinal, interval oder ratio skaliert? Wie viele Variablen werden gleichzeitig in die Grafik einbezogen? Andererseits ist es wichtig, was mit der Grafik gezeigt werden soll: Unterschiede? Gemeinsamkeiten? Veränderungen über Zeit?
Schauen Sie sich die verschiedenen Formen von Plots hier an.
Wenn wir nun aber
ggplot(data = data_away) +
geom_point()
ausführen würden, ergäbe das eine Fehlermeldung. Wir haben nämlich nicht angegeben, wie die Daten mit geom verbunden werden soll: Das mapping fehlt.
Mapping
Jede geom-Funktion in ggplot benötigt Angaben zum mapping. Damit wird definiert, wie die Variablen auf die Formen (aesthetics) gemappt werden sollen. Am einfachsten geht das, wenn wir dies zu Beginn festlegen (wir könnten es auch in der Funktion geom_ eingeben). Wir geben ein welche Variable auf der x-Achse und auf der y-Achse abgetragen werden soll. Eine weitere Variable könnten wir hier als group = ... oder color = ... einfügen.
ggplot(data =data_away, mapping =aes(x =value1, y =value2))
Im Folgenden können Sie den Datensatz mit Grafiken erkunden. Sie können entweder in Ihrem R Markdown File weiterarbeiten oder Sie können ein GUI (graphical user interface) verwenden, dass für Sie den Code schreibt.
GUI
Falls Sie ein GUI verwenden möchten, gehen Sie wie folgt vor:
Installieren Sie das package esquisse mit install.packages("esquisse") in Ihrer Konsole oder über Tools > Install packages...
Geben Sie in Ihrer Konsole esquisse::esquisser() ein und wählen Sie dann unter Import Data den Datensatz DatasaurusDozen.csv aus
Hands-on
Welche geom_s/Formen eignen sich gut für diesen Datensatz?
Welche Abbildungen können alle 3 Variablen des Datensatzes berücksichtigen?
Wie kann man Bedingungen miteinander vergleichen?
Wie können Grösse und Farbe der Geome bestimmt werden?
Wie passt man Schriftgrössen an?
Können Sie eine Grafik speichern?
Erstellen Sie eine möglichst informative Grafik. Kopieren Sie den Code in das R Markdown File. Dieser Code dient Ihnen nächste Woche evtl. als gute Vorlage.
Hier ist der Start der PsyTeachR Videoliste von Lisa deBruine, dort finden sich auch hilfreiche Kurzvideos zu Themen von Daten einlesen bis zu statistischen Analysen. Beispielsweise zu Basic Plots, Common Plots und Plot Themes and Customization
Matejka, Justin, and George Fitzmaurice. 2017. “Same Stats, DifferentGraphs: GeneratingDatasets with VariedAppearance and IdenticalStatistics Through SimulatedAnnealing.” In Proceedings of the 2017 CHIConference on HumanFactors in ComputingSystems, 1290–94. Denver Colorado USA: ACM. https://doi.org/10.1145/3025453.3025912.