2  Kurze Einführung in R und RStudio

2.1 R

R ist eine Programmiersprache für Statistik (R Core Team, 2023). Mit ihr lassen sich statistische Berechnung durchführen und graphisch darstellen. Die klassische R-Software läuft in einem Terminalfenster (Abbildung 2.1) über welches die Befehle abgesetzt werden.

Abb. 2.1: R Konsole

Dies kann am Anfang abschreckend wirken, da wir es eher gewöhnt sind, Programme über eine graphische Nutzeroberfläche zu steuern.

Seit 2012 wird dafür RStudio entwickelt, welches eine funktionsreiche Entwicklerumgebung für R bereitstellt. Mittlerweile hat sich RStudio als Open Source Standardanwendung für statistische Analysen durchgesetzt.

Sie werden nicht drum herumkommen, Ihre Befehle weiterhin aufzuschreiben und auszuführen, aber RStudio bietet Ihnen eine sehr hilfreiche und komfortable Arbeitsumgebung, die viele Arbeitsschritte erleichtern wird.

Auch in R hat sich einiges getan, vor allem in den letzten Jahren. Mit der Paketesammlung Tidyverse (siehe Kapitel 24) und dessen strenger Umsetzung der Tidy Data sowie kosequenter Nutzung der Pipe (siehe Abschnitt 24.2) hat sich ein eigenständiger Dialekt entwickelt, der immer mehr Anhänger findet. Die grundlegenden Schritte der Datenmanipulation und graphischen Darstellung sind im Tidyverse viel einfacher als mit klassischen R-Hausmitteln. Die Funktionalität der Pipe wurde mit Version 4.1 ins klassische R übernommen (siehe Kapitel 11).

In diesem Buch lernen Sie zuerst das “klassische” R, denn die grundlegenden Konzepte sind immer noch gültig, und auch die Funktionen für statistische Analysen sind immer noch die selben. Die Abschnitte zum Umgang mit Datensätzen sowie zur plot()-Funktion sind aber nur rudimentär gehalten, da dies mit den modernen Paketen dplyr und ggplot2 wesentlich einfacher funktioniert.

2.2 RStudio

Die Nutzeroberfläche von RStudio besteht aus vier Bereichen (siehe Abbildung 2.2), die nach ihrer hauptsächlichen Funktion benannte sind. Jeder Bereich bietet aber über seine Reiter weitere Anwendungsmöglichkeiten (die Sie jetzt evtl. noch nicht verstehen).

Abb. 2.2: RStudio Fenster

Oben links befindet sich das “Scriptfenster”. In diesem Bereich werden Ihre Scriptdateien angezeigt und Sie können sie dort editieren. In den Scriptdateien schreiben Sie Ihre R-Befehle nacheinander auf, je nachdem, welche Auswertungen oder Datentransformationen Sie fahren, oder welche Diagramme Sie plotten möchten (siehe Kaptiel Statistik mit R). Ihr Code wird dabei von RStudio farblich aufgehübscht, was ihn wesentlich übersichtlicher macht.

Rechts daneben ist das “Datenfenster”. Hier werden alle Variablen und Datenframes angezeigt, die derzeit im Speicher geladen sind. Durch Doppelklick auf einen Datensatz werden die Daten im “Scriptfenster” angezeigt. Über den Reiter History können Sie alle Befehle, die Sie in der R-Konsole abgesetzt haben, einsehen. Über den Reiter Tutorials haben Sie Zugriff auf zahlreiche Anleitungsangebote zu RStudio.

Unten links befindet sich die R-Konsole. Dieser Bereich entspricht der “normalen” R-Installation. Hier können Sie von Hand Befehle eingeben, oder aber Befehle aus dem Scriptfenster ausführen lassen. Die Konsole unterscheidet farblich zwischen Eingabe und Ausgabe, was sehr zur Übersicht beiträgt. Der Reiter Terminal öffnet eine Systemkonsole (unter Linux sehr hilfreich), und unter Jobs werden z.B. Installationsprozesse von Zusatzpaketen dargestellt.

Unten rechts ist das “Ausgabefenster”. Hier werden unter anderem Plots und Hilfetexte angezeigt. Das Fenster verfügt zudem über einen Dateibrowser (Reiter Files), von dem aus Sie bequem Dateien oder Datensätze aus Ihrem Arbeitsvereichnis laden können. Über den Reiter Packages können Sie Zusatzpakete aktivieren und deaktivieren.

Für die ersten Schritte in RStudio empfehlen wir folgendes Youtube-Video:

2.2.1 RStudio anpassen

RStudio lässt eine Menge an Anpassungen zu, so dass Sie die Software möglichst gut an Ihren Workflow anpassen können. Folgende zwei Einstellungen empfehlen wir nach der Installation vorzunehmen.

  • Arbeitsverzeichnis setzen: Unter Tools \(\rightarrow\) Global Options gelangen Sie ins allgemeine Einstellungsmenü. Unter dem Reiter General \(\rightarrow\) Basic lässt sich das Arbeitsverzeichnis (working directory) festlegen (Abbildung 2.3). In dieses Verzeichnis legt standardmäßig alle Diagramme, Scripte sowie den aktuellen Workspace (also alle Variablen und Datensätze, die derzeit geladen sind).
Abb. 2.3: Arbeitsverzeichnis

Es bietet sich an, ein eigenes Verzeichnis für zu erstellen und hier in RStudio auszuwählen.

  • Tastaturkürzel: Unter Tools \(\rightarrow\) Modify Keayboard Shortcuts öffnet sich das Dialogfenster zum Festlegen der Tastaturkürzel. Hier geben wir im Feld Filter “exec” ein (Abbildung 2.4).
Abb. 2.4: Tastaturkürzel

Bei der Aktion Execute Current Line setzen wir das Tastaturkürzel [STRG]+[R] (Abbildung 2.5). Dies ist ziemlich hilfreich.

Abb. 2.5: Tastaturkürzel

Die Einstellung bewirkt, dass im Scriptfenster die aktuelle Zeile per [STRG]+[R] ausgeführt wird.

An dieser Stelle sei darauf hingewiesen, dass das Aussehen von RStudio angepasst werden kann. Vielleicht möchten Sie auf einen “augenfreundlicheren” Modus umschalten, in welchem der Hintergrund dunkler ist. Klicken Sie hierfür in der Menüleiste auf Tools \(\rightarrow\) Global Options klicken. Wählen Sie hier den Bereich Appearance aus (Abbildung 2.6).

Abb. 2.6: heme wählen

Es werden Ihnen zahlreiche “Themes” zur Auswahl gestellt. Probieren Sie alle einmal aus. Als dunkles Theme verwende ich persönlich gerne Dracula (Abbildung 2.7).

Abb. 2.7: Theme Dracula

2.2.2 Eine Sitzung starten

Starten Sie RStudio. Es begrüßt Sie die RStudio Arbeitsfläche. Das Scriptfenster oben links ist noch geschlossen, so dass der gesamte linke Bereich von der R-Konsole eingenommen wird (Abb. Abbildung 2.8).

Abb. 2.8: Neue Sitzung gestartet

Als erstes legen Sie eine neue Scriptdatei an. Klicken Sie oben links auf das grüne + Zeichen und wählen Sie R Script (Abbildung 2.9).

Abb. 2.9: neue Scriptdatei anlegen

Wie Abbildung 2.10 zeigt, können Sie auch die Tastenkombination [STRG] + [SHIFT] + [N] verwenden, um eine neue Scriptdatei zu erzeugen.

Abb. 2.10: Tastenkombination

In dieser Scriptdatei werden wir alle Befehle hinterlegen. Für gewöhnlich beginnt man bei Programmierübungen mit einem “Hallo Welt” Beispiel. Schreiben Sie in die Scriptdatei den Befehl:

print("Hallo Welt")
Abb. 2.11: Befehl in Scripdatei schreiben

Diesen Befehl wollen wir nun in der R-Konsole ausführen. Das kann auf mehrere Arten geschehen:

  • gehen Sie mit dem Cursor in die Zeile des Befehls. Drücken Sie die (vorhin angelegte) Tastenkombination [STRG] + [R].

  • oder gehen Sie mit dem Cursor in die Zeile des Befehls und klicken Sie auf den \(\rightarrow\)Run-Knopf (siehe Abbildung 2.12).

  • oder gehen Sie mit dem Cursor in die Zeile des Befehls und drücken Sie die (voreingestellte) Tastenkombination [STRG] + [ENTER].

Abb. 2.12: run-Knopf

Alle drei Aktionen bewirken, dass der Befehl print("Hallo Welt") in der R-Konsole unten links ausgeführt wird (siehe Abbildung 2.13).

Abb. 2.13: Ausgabe in der Konsole unten links

Und R antwortet entsprechend in der Konsole mit

[1] "Hallo Welt"

Sie können die Befehle auch jederzeit direkt unten in die R-Konsole eingeben und ausführen.

Prinzipiell sollten Sie aber alles in der Scriptdatei aufschreiben und von dort ausführen. So können Sie leicht Ihre Befehle anpassen oder auch komplizierte R-Sprüche nach und nach aufbauen. Manchmal kann es aber auch nützlich sein, ein kurzes ?print (dazu später mehr) direkt unten in der Konsole einzugeben. Sie werden “den Dreh” sehr schnell heraus haben.

Wir sollten so häufig wie möglich unsere Scriptdatei abspeichern. Hierzu drücken Sie die Tastenkombination [STRG] + [S], oder Sie klicken auf das Diskettensymbol (siehe Abbildung 2.14).

Abb. 2.14: Scriptdatei speichern

Derzeit heisst unsere Scriptdatei noch Untitled1. Geben Sie Ihrer Scriptdatei einen schönen Dateinamen mit der Dateiendung .R, also z.B. ErsteSchritte.R
Der neue Dateiname wird nach dem Speichern über dem Script angezeigt (Abbildung 2.15).

Abb. 2.15: Dateiname

Mit dem #-Zeichen können Zeilen auskommentiert werden. Das bedeutet, dass alles, was hinter einem # steht, von R ignoriert wird (siehe Abbildung 2.16).

Abb. 2.16: Auskommentieren mit #

RStudio hebt auskommentierte Stelle farblich hervor (Abbildung 2.16), alles Auskommentierte ist hellgrün dargestellt), so dass sie leicht erkannt werden können.

Das Auskommentieren mit # ist hilfreich, um den Code zu kommentieren, also zu beschreiben, was die nachfolgenden Zeilen machen sollen. So bleibt Ihr Code verständlich und wird auch für andere nachvollziehbar. Zum anderen kann es hilfreich sein, einzelne Befehlszeilen mittels # zu “dekativieren”, z.B. wenn man auf Fehlersuche ist.

In Abbildung 2.16 sehen Sie auch, dass der Dateiname der Scriptdatei ErsteSchritte.R* in rot dargestellt ist und mit einem * endet. Auf diese Weise teilt RStudio Ihnen mit, dass es ungespeicherte Änderungen an der Scriptdatei gibt, die Sie evtl. speichern möchten. Das verwundert nicht, denn wir haben ja gerade jede Menge Kommentare in unser Script geschrieben. Mit der Tastenkombination [STRG] + [S] speichern wir die Scriptdatei. Wie Abbildung 2.17 zeigt, ist der Dateiname nun nicht mehr rot und hat auch kein * mehr.

Abb. 2.17: alles ist gespeichert

2.2.3 Projekte in RStudio

RStudio erlaubt es Ihnen, so genannte “Projekte” zu erstellen.

Ein neues Projekt startet mit einer leeren R-Konsole und einem (fast) leeren Arbeitsverzeichnis. Sie können wie gewohnt Daten laden, bearbeiten und Ihre Auswertungen fahren. Wenn Sie RStudio schließen, wird Ihr Arbeitsstand im Projektordner gespeichert. Beim nächsten Öffnen steht dann alles wieder so zur Verfügung, wie Sie es verlassen haben.

Es empfiehlt sich sehr, für jedes “Projekt”, das Sie mit R durchführen möchten, ein eigenes RStudio-Projekt zu erstellen. Dies erleichtert die Arbeit ungemein. Da jedes Projekt in seinem eigenen Dateiordner “lebt”, behalten Sie die Übersicht über Daten, Dateien und Diagramme. Sie können zwischen den Projekten wechseln, ohne dass Ihre Arbeitsspeicher durcheinandergeraten, oder Variablen überschrieben werden. Sofern Sie konsequent alle Dateien in den jeweiligen Ordnern gespeichert lassen, können Sie sich lästige Dateipfadangaben sparen, und Sie können den Projektordner einfach mit Kolleginnen und Kollegen teilen (indem Sie ihn kopieren), und in deren RStudio wird alles so funktionieren wie bei Ihnen.

Ich persönlich habe in meinem Dokumenteordner einen Unterordner R, in welchem sich alle Projekte befinden. Es ist aber natürlich auch möglich, Ihre einzelnen Projektordner an beliebigen Stellen des Dateisystems zu platzieren. Projektordner können auch “im Nachhinein” beliebig verschoben werden.

Legen Sie nun ein neues Projekt in RStudio an. Klicken Sie in der Menüleiste auf File \(\rightarrow\) New Project....

Es öffnet sich ein neus Fenster, in welchem Sie gefragt werden, ob Sie einen neuen Projektordner im Dateisystem anlegen möchten, oder ob Sie einen bestehenden Ordner nutzen möchten. Da Sie (wahrscheilich) noch keine R-Projekte durgeführt haben, klicken Sie auf New Directory (Abbildung 2.18).

Abb. 2.18: Neues Projekt in neuem Verzeichnis
Abb. 2.19: neues Projekt

In RStudio können Sie viel machen, deshalb ist die Auswahlliste des Project Type so lang. Wählen Sie den ersten Eintrag New Project aus. Geben Sie dem Projekt einen Namen. In Abbildung 2.20 haben ich “ErsteSchritte” genannt. Darunter wird der Dateipfad angegeben. Ignorieren Sie die weitern Häkchenoptionen und klicken Sie unten auf den Create Project-Knopf.

Abb. 2.20: neues Projekt

Es begrüßt Sie ein “frisches” RStudio-Fenster (Abbildung 2.21).

Abb. 2.21: neu erstelltes Projekt

Wiederholen Sie nun die Schritte aus dem “Hallo Welt”-Beispiel. Das heisst, legen Sie eine neue Scriptdatei an, indem Sie auf das grüne + klicken (siehe Mauszeiger in Abbildung 2.21), und schreiben Sie den Befehl hinein:

print("Hallo Projekt-Welt")

Führen Sie den Befehl mittel Run-Knopf oder der Tastenkombination [STRG]+[R] aus, und speichern Sie Ihre Scriptdatei anschließend unter dem Namen
ErsteSchritte.R ab, indem Sie auf das Diskettensymbol klicken oder [STRG]+[S] drücken.

Abb. 2.22: Neues Projekt mit Scriptdatei

Wie Sie sehen, wird Ihre Scriptdatei nun im Ausgabefenster angezeigt (Abbildung 2.22). Daneben sehen Sie die Projektdatei ErsteSchritte.Rproj. Wenn Sie aus Ihrem Dateibrowser auf diese Datei klicken, öffnet sich automatisch RStudio und es wird der Arbeitsstand des Projektes geladen.

Rechts über dem Datenfenster wird Ihr derzeit aktives Projekt angezeigt (in Abbildung 2.23) ErsteSchritte).

Abb. 2.23: Projekte verwalten

Wenn Sie hier klicken, können Sie neue Projekte anlegen, und ihre zuletzt geöffneten Projekte werden Ihnen angezeigt. So können Sie bequem zwischen Ihren Projekten wechseln (Abbildung 2.24).

Abb. 2.24: letzte Projekte