2  R Markdown für reproduzierbare Forschung

  • Wichtigkeit der Reproduzierbarkeit erklären
  • Begriff literate programming definieren
  • Aufbau einer RMarkdown-Datei erklären
  • Einen einfachen ersten reproduzierbaren Bericht selbst schreiben

2.1 Warum Reproduzierbarkeit in der Forschung wichtig ist

Als Motivation für dieses Thema empfehle ich das Video von Prof. Roger Peng der John Hopkins Bloogmerg School of Public Health.

2.2 Literate Programming Idee von Donald Knuth

Die Idee, dass man den Code und die dazugehörige Interpretation (Text, Bericht etc.) nicht voneinander trennen sollte, geht auf Knuth (1984) zurück. Mit Literate Programming meinte Knuth, dass Programme auch nichts anderes wie literarische Werke sind. Er setzte den Fokus darauf, mit Programmen menschlichen Benutzern zu erklären, was man den Computer machen lassen möchte. Also weg vom computer- hin zum mensch-zentrierten Zugang. So wird Programmieren und in unserem Fall die Datenanalyse verständlich und vor allem reproduzierbar.

Leider ist es in unserer modernen Forschungslandschaft immer noch nicht Standard. Das Trennen von Analyseergebnissen und Berichten (Forschungsartikeln) sorgt für viele (unentdeckte und unnötige) Fehler und Frust.

2.3 Reproduzierbare Berichte mit R Markdown

R hat sein eigenes System von reproduzierbaren Berichten, genannt R Markdown (Xie, Allaire, and Grolemund 2021). Es ist benutzerfreundlich und ermöglicht unterschiedliche Formate von Berichten, wie HTML-Dokumente, PDF-Dateien, Präsentationsfolien usw.

Es wird Sie vielleicht überraschen, aber das Skript, das Sie gerade lesen, ist nichts anderes als ein “literarisch” programmiertes Buch in R Bookdown (Xie, Allaire, and Grolemund 2021), einem R-Paket speziell für lange R Markdown-Dokumente.

Wir werden vor allem mit R Notebooks arbeiten, die eine gute Interaktion zwischen dem geschriebenen Text und dem R-Code ermöglichen. Das Notebook kann sowohl in ein HTML-Dokument als auch in PDF oder Word als endgültiges Dokument umgewandelt werden. Diesen Prozess nennt man knit.

2.4 Ein neues R Notebook erstellen

Um ein neues R Notebook zu erstellen, klicken Sie das kleine grüne Plus oben links und wählen Sie R Notebook aus. Sie können es erst einmal bei untitled belassen (Abbildung 2.1).

Screenshot zeigt, wie man eines neues R Notebook anlegt.

Abbildung 2.1: Neues R Notebook anlegen

Wenn Sie ein neues Notebook erstellen, enthält das Template etwas Code. Lesen Sie sich das ruhig noch einmal durch, da es ein paar hilfreiche Tastenkürzel und Tipps. Danach können Sie den Text unterhalb des Headers löschen.

2.5 Der Header eines Notebooks

Ein R Notebook (und jedes andere R Markdown Dokument) besteht aus einem Header (Kopf) und dem eigentlichen Text und Code. Der Header hat dabei ein bestimmtes Layout, auf das Sie unbedingt achten müssen (Rechtschreibung!). Der Header ist immer zwischen drei Minuszeichen --- eingeschlossen. Bei komplizierteren Headern gibt es auch Einrückungen (mit der Tab-Taste), die auch Bedeutung haben (s. weiterführende Literatur). Wir bleiben bei einem einfachen Header ohne Einrückungen (Abbildung 2.2).

Um einen neuen R-Chunk hinzuzufügen, klicken Sie auf das kleine grüne C+ oben rechts oder verwenden Sie das Tastenkürzel Str+Alt+i.

Screenshot zeigt, wie ein neuer R Chunk hinzufügt wird.

Abbildung 2.2: Einen neuen R Chunk hinzufügen

Text kann einfach unterhalb des Headers und außerhalb der Chunks getippt werden. Die wichtigsten Layoutelemente für den Text finden Sie hier. R Markdown unterstützt mathematische Notation in Latex-Stil. Eine Einführung in Latex würde an dieser Stelle aber zu weit führen.

Das R Notebook hat den Vorteil, dass man über den Button Preview oben in der Leiste sofort die Ergebnisse anzeigen lassen kann. Sie müssen also nicht knitten. Falls Sie es doch möchten, klicken Sie auf das kleine Dreieck neben dem Preview und suchen Sie sich ein Output-Format aus. Ein einmal “geknittetes” Notebook ist kein Notebook mehr (kein Preview). Damit es wieder zum Nobebook wird, müssen Sie im Header output: html_notebbok einstellen (Abbildung 2.2).

2.6 Wichtigste Regeln für Reproduzierbarkeit

Ein weiteres Video von Prof. Peng widmet sich den wichtigsten Regeln für Reproduzierbarkeit.

2.7 Lesestoff

Intro zu Kapitel 2 (Basics), Kapitel 3.2.1 und 3.2.2 in Xie, Allaire, and Grolemund (2021)

2.8 Aufgaben

2.8.1 Layoutelemente in R Markdown

Fügen Sie in Ihrem Notebook Layoutelemente hinzu: - Überschrift - Unterüberschrift - kursiver Text - ein Exponent: R2 - ein Mathematikelement: \(x^2\) - eine Liste

Nutzen Sie die unter Kapitel 2.5 verlinkte Liste der Layoutelemente.

2.8.2 Editierene Sie Ihr erstes Notebook

  • Editieren Sie das R Notebook der ersten Session.
  • Gliedern Sie Ihr Notebook mit passenden Layoutelementen, wenn noch nicht geschehen.
  • Fügen Sie mehr Erklärungstext zu den einzelnen Abschnitten.

2.8.3 Hausaufgabe

Bearbeiten Sie die Kapitel 1 und 2 im Kurs “Introduction to R” auf datacamp.