1  R und RStudio

Es gibt eine große Zahl von Computerprogrammen, mit denen Daten bearbeitet werden können. Wir werden in diesem Kurs das weit verbreitete und kostenlose Data-Science-Programm R nutzen. R hat viele Pluspunkte:

Eine bequeme Nutzungsoberfläche (Integrated Development Environment oder IDE) für R ist das ebenfalls kostenlose RStudio. R ist keine Programmiersprache wie C oder Java, sondern wurde speziell entwickelt, um Datenanalysen interaktiv durchzuführen. In Data Science ist eine einfache und schnell durchführbare interaktive Datenanalyse für erfolgreiches Arbeiten unumgänglich. Natürlich kann man auch in R seine Analysen als Scripts abspeichern und zu einem späteren Zeitpunkt erneut durchlaufen lassen - doch dazu später mehr.

1.1 Installation

Wenn Sie die Programme R und RStudio noch nicht installiert haben, tun Sie es jetzt. Die Installation ist einfach. Wir starten mit der Installation von R.

1.1.1 R installieren

Die Installationsdateien für R können Sie von der Internetseite des Comprehensive R Archive Network (CRAN) herunterladen. Wählen Sie “Download R …” für Ihr Betriebssystem aus und folgen Sie anschließend den Installationshinweisen, die sich je nach Betriebssystem unterscheiden. Sie benötigen nur die “base”-Installation.

Für Windows sieht das Vorgehen wie folgt aus. Klicken Sie zunächst auf “Download R for Windows”.

Nun wählen Sie “base” aus.

Jetzt klicken Sie auf “Download R X.X.X for Windows”, wobei “X.X.X” für die jeweils neuste Version steht.

Die herunter geladene Datei können Sie nun ausführen, um R zu installieren. Für MacOS und Linux ist das Vorgehen ähnlich.

1.1.2 RStudio installieren

Sobald R installiert ist, können Sie RStudio installieren. Bitte lassen Sie R während der Installation von RStudio nicht geöffnet. RStudio wird von dem Software-Anbieter Posit zum Download zur Verfügung gestellt. Gehen Sie zunächst auf die Internetseite von Posit und klicken Sie auf “Download RStudio”. Alternativ können Sie auch direkt zum Download springen.

Scrollen Sie auf der Seite nach unten, bis Sie die kostenlosen Open Source Edition von RStudio Desktop auswählen können. Klicken Sie unter “Free” auf “Download”.

Scrollen Sie auf der neu geöffneten Seite nach unten bis zu der tabellarischen Auflistung der RStudio-Varianten für alle möglichen Betriebssysteme.

Das weitere Vorgehen hängt von Ihrem Betriebssystem ab. Wählen Sie die Version für Ihr Betriebssystem und folgen Sie den Installationshinweisen.

1.1.3 Posit Cloud

Es gibt als Alternative zu der lokalen Installation von R und RStudio die Möglichkeit, RStudio über die Cloud zu nutzen. Der Vorteil der lokalen Installation besteht darin, dass Sie nur durch die Leistungsfähigkeit Ihres Rechners beschränkt sind - und selbst ältere Geräte sind für RStudio und R sehr gut geeignet. Im Gegensatz dazu ist die Cloud-Lösung nur eingeschränkt oder kostenpflichtig nutzbar. Sollten Sie sich dennoch für die Cloud-Lösung entscheiden, können Sie sich unter Posit Cloud registrieren und nähere Informationen finden.

1.2 RStudio-Grundlagen

Nun können Sie RStudio starten. Die Verknüpfung zu R erfolgt automatisch. RStudio bietet einen sehr bequemen Zugang zu R. Wir behandeln nun die wichtigsten Grundlagen von RStudio, damit Sie sich jederzeit schnell zurechtfinden. Öffnen Sie RStudio.

1.2.1 Die Panes

Das RStudio-Fenster ist in drei oder vier Bereiche (“panes”) unterteilt. Beim ersten Start von RStudio sind es normalerweise drei Panes.

  • Links ist die R-Konsole. Hier können Sie interaktiv R-Befehle eingeben. Außerdem wird hier der R-Output angezeigt. In nächsten Abschnitt gehen wir näher auf das Konsolen-Fenster ein.

  • Oben rechts sind mehrere Reiter zu finden, unter anderem “Environment” und “History”. Standardmäßig wird hier die “Environment” angezeigt. Das ist eine Liste aller Objekte, die aktuell zur Verfügung stehen. Wenn Sie auf “History” klicken, werden die zuletzt ausgeführten R-Befehle angezeigt.

  • Unten rechts gibt es mehrere Reiter. Die wichtigsten sind “Plots”, um grafischen Output anzuzeigen, “Packages”, um die Installation und das Updaten von R-Paketen zu organisieren, und “Help”, um Informationen zu R-Befehlen zu zeigen.

1.2.2 Konsole

R-Befehle, die Sie in die Konsole eingegeben, werden sofort ausgeführt. Auf diese Weise lässt sich R beispielsweise für einfache Berechnungen wie ein Taschenrechner verwenden:

1+1
[1] 2

oder

sin(3/2*pi)
[1] -1

oder

9^2
[1] 81

Der Output wird durch eine vorangestellte [1] eingeleitet. Das hat in diesem Kontext keine Bedeutung, sondern dient bei längeren Ausgaben lediglich dazu, die Struktur leichter lesbar zu machen.

In der Konsole kann man auch Variablen definieren, zum Beispiel

a <- 4

Im oberen rechten Fenster (“Environment”) sehen Sie nun die Variable a und den Wert, den sie annimmt (nämlich 4).

Achtung

Zuweisungen zu Variablen erfolgen im Gegensatz zu den meisten Programmiersprachen nicht mit einem Gleichheitszeichen, sondern mit dem Pfeilsymbol, das aus einem Kleiner-Zeichen (<) und einem Minus (-) zusammengesetzt ist (<-). Das Gleichheitszeichen (=) ist alternativ als Zuweisungsoperator ebenfalls erlaubt, aber in R eher unüblich.

Die Variablen können anschließend in weitere Berechnungen einfließen, zum Beispiel berechnet man das Quadrat von a so:

a^2
[1] 16

Um das Ergebnis der Berechnungen in der Konsole anzuzeigen, benutzt man eigentlich den Befehl print. Das Quadrat von a wird beispielsweise angezeigt durch print(a^2). Tatsächlich kann man den print-Befehl in den allermeisten Fällen auch einfach weglassen. In diesem eBuch wird der print-Befehl manchmal mitgeschrieben, manchmal nicht.

1.2.3 Editor

Im Editor können Sie komplexere Scripte (Programme) schreiben, ohne sie direkt auszuführen. Der Vorteil besteht darin, dass Sie in einem Script viele komplexe Arbeitsschritte abspeichern und später erneut laden und ausführen können.

Das Editor-Fenster (manchmal auch Script-Fenster genannt) öffnen Sie durch einen Klick auf das kleine Plussymbol unter dem Menu-Punkt “File” oder durch “File”, “New File”, “R Script”. Alternativ können Sie auch die Tastenkombination Ctrl-Shift-N drücken.

Auf der linken Seite erscheint oben ein Editorfenster unter dem provisorischen Namen “Untitled1”. Nun können Sie im Editorfenster Befehle eingeben, ohne dass sie unmittelbar ausgeführt werden.

Beispiel:

Folgende Zeilen werden im Editor eingegeben:

a <- 3
b <- 4
c <- sqrt(a^2+b^2)
print(c)

In der Environment wird zunächst nicht verändert, die Variablen b und c existieren noch nicht im Arbeitsspeicher. Auch in der Konsole erscheint noch nichts. Wenn man nun die vier Zeilen im Editorfenster markiert und anschließend Ctrl-Enter drückt oder am oberen Rand des Editorfensters unter “Run” den Punkt “Run Selected Line(s)” anklickt, werden die vier Zeilen ausgeführt. In der Environment werden die Variablen angezeigt und in der Konsole wird der Wert der Variablen c ausgegeben.

Das Standard-Verzeichnis, in dem die Scripte gespeichert werden, ist das sogenannte Working Directory (Arbeitsverzeichnis). Sie können selbst festlegen, welches Verzeichnis Ihr Working Directory sein soll. Wählen Sie dazu im Menu “Session”, dann “Set Working Directory” und “Choose Directory…”.

Wenn Sie immer das gleiche Verzeichnis als Working Directory haben möchten, können Sie es über “Tools”, “Global Options…” und dann “General”/“Basic” einstellen. Beim Start von RStudio wird das Working Directory dann automatisch gesetzt.

Durch Ctrl-S oder durch Anklicken von “File”/“Save” wird ein Dialogfenster geöffnet, in dem man den Dateinamen festlegt, unter dem das Script gespeichert wird. R-Code sollten Sie immer mit der Endung (extension) “.R” speichern. Auf diese Weise erkennt RStudio sofort, dass es sich um Code handelt. Nach einem Neustart von R kann diese Datei geladen werden, die vier Zeilen des Scripts erscheinen dann wieder im Editorfenster.

Zwischen den Panes auf der linken Seite (also Editor und Konsole) kann man hin- und herschalten, indem man Ctrl-1 (Editor) oder Ctrl-2 (Konsole) tippt.

1.3 Pakete

Die Basisfunktionen von R sind oft ausreichend. Für viele Anwendungen ist es trotzdem sinnvoll, zusätzliche R-Funktionen zu nutzen. Das erfolgt mit Hilfe von “Paketen”. R-Pakete müssen vor der ersten Benutzung einmalig installiert werden. Der einfachste Weg das zu tun, ist über den Reiter “Packages” im unteren rechten Fenster von RStudio.

Klicken Sie auf “Packages”:

Anschließend wählen Sie “Install”. Nun können Sie angeben, welches Paket (oder welche Pakete) Sie installieren möchten.

Achten Sie darauf, dass das Häkchen bei “Install dependencies” gesetzt ist, denn dann werden alle Pakete automatisch mit installiert, auf die das eigentlich zu installierende Paket zugreift. Alternativ können Sie Pakete mit dem Befehl install.packages installieren.

Nach der Installation ist das Paket zwar vorhanden, aber noch nicht nutzbar. Um ein Paket tatsächlich nutzen zu können, muss es mit dem Befehl library(PAKETNAME) aktiviert werden. Die Aktivierung gilt solange, bis R beendet wird. Wenn Sie beim nächsten Mal R neu starten, muss das Paket also erneut aktiviert werden. Das klingt vielleicht umständlich, hat aber den Vorteil, dass (neben den Basisfunktionen) immer nur die Funktionen von R aktiv sind, die tatsächlich gebraucht werden. Dadurch bleibt das Programm schlank und schnell.

1.4 Hilfen zu R

1.4.1 Hilfen in RStudio

Es gibt eine Reihe von Hilfen für die Benutzung von R. Wenn Sie zu einer Funktion in R Fragen haben, z.B. weil Sie nicht mehr genau wissen, welche Argumente die Funktion hat, dann bietet sich das Hilfefenster von RStudio (meist unten rechts) an. Wenn Sie in der Konsole ein Fragezeichen gefolgt von einem Funktionsnamen eingeben, erscheint im Hilfefenster von RStudio eine Hilfeseite für diese Funktion. Die meisten Hilfeseiten haben eine Standardstruktur:

  • Description: Hier wird knapp erklärt, was die Funktion macht.
  • Usage, Arguments: Hier finden Sie Informationen zu der genauen Form des Aufrufs, z.B. welche Argumente und Optionen eine Funktion hat.
  • Details: Eine genaue Beschreibung der Funktion. Hier geht es z.B. um technische Feinheiten.
  • Value: Was wird von der Funktion zurückgegeben?
  • See also: Welche ähnlichen Funktionen oder Befehle gibt es?
  • Examples: Die Beispiele sind oft besonders nützlich, weil sie zeigen, wie die Funktion aufgerufen werden kann.

Der Screenshot zeigt als Beispiel unten rechts die Hilfe für die Funktion sum:

Die Hilfeseiten können Sie auch aufrufen, indem Sie den Reiter “Help” im unteren rechten Fenster anklicken oder Ctrl-3 eintippen. In der obersten Zeile des Hilfefensters kann man nun den Namen der Funktion eingeben, für die man Hilfe braucht.

Ein noch bequemerer Weg ist die F1-Taste. Plazieren Sie den Cursor im Editor oder in der Konsole auf einem Funktionsnamen und drücken Sie F1. Nun erscheint im Hilfefenster die Hilfeseite zu der Funktion.

1.4.2 Internet-Hilfen

Eine Internetseite mit umfangreichen Hilfen zu R ist rseek.org. Die Seite wirkt zunächst ein wenig spartanisch, aber sie hilft oft weiter. Auch eine ganz normale Suche mit Google oder anderen Suchmaschinen hilft meist schnell weiter.

1.4.3 Cheatsheets

Die Cheatsheets sind kompakte “Schummelzettel”. Sie sind gut geeignet, um kurz nachzulesen, wie bestimmte Probleme oder Fragestellungen gelöst werden können. Mehrere Cheatsheets können Sie in RStudio über den Menu-Punkt “Help” (nicht den Reiter “Help” im unteren rechten Fenster) und anschließend “Cheat Sheets” aufrufen. Die Cheatsheets wirken zwar manchmal auf den ersten Blick etwas unübersichtlich, sie sind aber trotzdem oft eine gute Hilfe.

1.4.4 Tastenkombinationen

RStudio lässt sich mit Hilfe der Maus bedienen. Sie arbeiten aber deutlich effizienter, wenn Sie sich einige nützliche Tastenkombinationen merken. Bei beiden wichtigsten Tastenkombinationen sind:

  • Ctrl-Enter: Wenn Sie eine Zeile des Editorfensters ausführen möchten, gehen Sie mit dem Cursor auf diese Zeile und drücken Sie Ctrl-Enter. Die Zeile wird dadurch an die Konsole geschickt und sofort ausgeführt. Wenn Sie mehrere Zeilen ausführen lassen möchten, können Sie sie im Editorfenster markieren und dann Ctrl-Enter tippen.

  • Die Tabulatortaste (meist etwas unterhalb der Esc-Taste): RStudio hat eine ausgefeilte automatische Ergänzungsfunktion. Wenn Sie die ersten paar Zeichen eines Befehls oder Variablennamens eingetippt haben und die Tabulatortaste drücken, wird der Befehl oder Variablenname automatisch ergänzt. Wenn es mehrere Möglichkeiten gibt, wird eine Liste zur Auswahl angezeigt.

Weitere nützliche Tastenkombinationen sind:

  • Ctrl-1 und Ctrl-2: Wie bereits oben erwähnt, kann man mit diesen Kombinationen zwischen dem Editor und der Konsole hin- und herschalten.

Eine ausführliche Auflistung aller Tastenkombinationen finden Sie über das RStudio-Menu unter “Tools”/“Keyboard Shortcuts Help”. Sobald Sie merken, dass die Steuerung mit der Maus umständlich und langsam ist, sollten Sie nachsehen, ob es eine Tastenkombination gibt, die Ihnen die Arbeit erleichtert.

1.4.5 Globale Optionen

Einige Standardeinstellungen von RStudio lassen sich auf Wunsch unter “Tools”, “Global Options…” ändern.

Wie oben schon erwähnt, ist es unter Umständen hilfreich, das Standardarbeitsverzeichnis unter dem Punkt “General” anzupassen. Ebenfalls unter “General” sollten Sie bei “Save workspace to .RData on exit” die Option “Never” auswählen. So ist sicher gestellt, dass beim Neustart von RStudio alle Variablen gelöscht werden.

1.4.6 Kommentare

Programm-Code, den man selbst geschrieben hat, versteht man nach einiger Zeit nicht mehr ohne weiteres, wie dieser Spruch eines unbekannten Coders zeigt:

When I wrote this code, only god and I knew how it worked. Now, only god knows it!

Damit Sie Ihr Code-Script auch nach einiger Zeit noch verstehen und damit auch andere Menschen Ihren Code schnell lesen und verstehen können, sollten Sie wichtige Schritte immer durch Kommentare im Code erläutern. Kommentarzeilen beginnen immer mit einem Hashzeichen (#). Alles, was nach dem Hashzeichen folgt, wird beim Ausführen des Codes ignoriert.

# Diese Zeile ist ein Kommentar
a <- 3
b <- 4
# Anwendung des Satzes von Pythagoras
c <- sqrt(a^2+b^2)
print(c)

1.4.7 Fehlersuche (Debugging)

Es gibt in RStudio recht ausgefeilte Debugging-Möglichkeiten. In diesem Kurs brauchen wir die meisten davon nicht, sondern beschränken uns auf einige elementare Techniken, um Fehler im Programm-Code zu finden. Falls Sie über diesen Kurs hinaus mehr Details zum Debugging in RStudio lernen wollen, klicken Sie im Menu auf “Debug”/“Debugging Help”.

Sollte Ihr Programm-Code nicht das tun, was Sie erwarten, müssen Sie den Fehler suchen. In diesem Fall ist es hilfreich, den Arbeitsspeicher (die Environment) zunächst zu löschen, damit das Programm quasi am Nullpunkt neu starten kann. Die Environment leeren Sie, indem Sie im Environment-Fenster (meist oben rechts) auf das kleine Besensymbol klicken.

Nun setzen Sie den Cursor im Script-Fenster auf die erste Code-Zeile und führen sie mit Ctrl-Enter aus. Der Cursor springt danach direkt in die nächste Zeile. Wenn keine Fehlermeldung erscheint, führen Sie die folgende Code-Zeile aus. So gehen Sie Schritt für Schritt weiter durch den Code, bis eine Fehlermeldung auftritt. Die Fehlermeldungen in R sind leider nicht immer hilfreich, aber sie geben doch meist einen Anhaltspunkt, was falsch sein könnte. Korrigieren Sie den Code und probieren Sie die Zeile erneut auszuführen.