Die Entwicklungsumgebung RStudio

From DHVLab

Um den Einstieg in die Programmierung mit R zu erleichtern, bietet sich die Verwendung einer integrierten Entwicklungsumgebung (Integrated Development Environment, IDE) an. Solche Umgebungen kombinieren mehrere Vorzüge: Sie interpretieren den Code nicht nur, sodass ein Output erzeugt werden kann, sondern erweitern ihre Funktionalität auch visuell, um die Arbeit produktiver zu gestalten. Eine IDE zeigt beispielsweise an, wenn ein Objekt, auf das referenziert wird, noch nicht existiert oder eine geschweifte Klammer fehlt, die dazu dient, eine Funktion zu beenden. Ebenso können Grafiken direkt im momentan aktiven Bildschirmfenster angezeigt werden, ohne sie im angegebenen Zielverzeichnis erst suchen und dann öffnen zu müssen. Ein beliebtes Instrument dieser Art für R ist RStudio, das Sie in Ihrem Desktop unter Applications -> Development finden. Bei Aufruf von RStudio muss R nicht zusätzlich geladen werden.

Benutzeroberfläche

Abbildung 1: Konsole mit Kommandozeile in R.
Abbildung 2: Bildschirmfenster beim ersten Aufruf von RStudio.

Im Gegensatz zu einer weiteren statistischen Software, SPSS, kommt R standartmäßig ohne grafische Benutzeroberfläche (Graphical User Interface, GUI) aus – Benutzer interagieren stattdessen über eine Kommandozeile (Abbildung 1). RStudio erweitert diese Funktionalität über Panels, die das Bildschirmfenster in vier Bereiche abtrennen und alle benötigten Ressourcen präsentieren. Zunächst sind beim ersten Aufruf jedoch nur drei Panels aktiv (Abbildung 2): Console (links), Workspace (rechts oben), Working Directory (rechts unten). Workspace und Working Directory enthalten mehrere Registerkarten, die eine weitere Untergliederung der Bereiche erlauben. Die Funktionen und Inhalte der Panels seien im Folgenden kurz erläutert.

  • Console
    Das wichtigste Werkzeug in RStudio ist die Konsole – über sie werden Variablen unter anderem deklariert und manipuliert, Daten importiert und exportiert, Grafiken generiert und modifiziert. Kurzum: Jeder Befehl in RStudio läuft letztlich über die Konsole und stößt im Prozessor des Computers eine Aktion an. Wenn diese Aktion, beispielsweise die Addition zweier Zahlen, beendet wurde, schickt der Prozessor das Ergebnis an den Nutzer – und es erscheint als Output in der Konsole. Das Symbol > kennzeichnet wie in R die Eingabeaufforderung (auch Prompt). Diese Markierung verweist auf die Stelle, an der Befehle eingegeben werden können. Bereits ausgeführte Befehle wandern eine Zeile nach oben; die Eingabeaufforderung steht weiterhin fest in der letzten, also untersten Zeile der Konsole.
  • Workspace
    Alle erzeugten Daten, Werte und Funktionen, ihre Dimension, Länge und Rückgabewerte (dazu mehr im Abschnitt Grundlagen in R) landen in der Registerkarte Environment im Panel Workspace. Im Reiter History finden Sie eine Übersicht der bisher von Ihnen in dieser Sitzung ausgeführten Befehle – also jede Codezeile, die seit dem Öffnen von RStudio über die Konsole bestätigt wurde. Eine hilfreiche Funktion: Bei Doppelklick auf einen Befehl in der History kopiert RStudio den entsprechenden Code in die Konsole, wo er nochmals aufgerufen werden kann.
  • Working Directory
    Das Panel Working Directory hält weitere Übersichten parat: Files, Plots, Packages und Help. Files zeigt die Ordner- und Dateistruktur des gewählten Zielverzeichnisses (für eine Änderung des Zielverzeichnisses siehe Abschnitt Ändern des Zielverzeichnisses), Plots alle in dieser Sitzung generierten Grafiken, Packages alle bislang im System installierten Pakete, Help die internen Hilfeseiten.

Einen ausführlichen Spickzettel mit weiteren Symbolerklärungen und einer Liste von Tastenkombinationen (sogenannten Shortcuts [A 1]) stellt RStudio online bereit.

Erstellen und Speichern eines Skripts

Abbildung 3: Symbolleiste in RStudio.
Abbildung 4: Bildschirmfenster, nachdem ein Skript in RStudio erstellt wurde.

Womöglich fragen Sie sich mittlerweile: Wo landen meine eingegebenen Befehle – und was passiert mit ihnen, wenn ich RStudio schließe? Damit Ihre Arbeit nicht in die ewigen virtuellen Jagdgründe eingeht, empfiehlt es sich, Code und Kommentare in ein Skript zu schreiben. Um ein neues Skript zu erstellen, gibt es drei Möglichkeiten:

  • die Tastenkombination [Strg] + [Umschalt] + [N] [A 2],
  • den Menüeintrag R Script, der über File -> New File zu erreichen ist,
  • das erste Symbol der obersten Symbolleiste: ein weißes Plus in einem grünen Kreis, das auf einem weißen Quadrat steht (gekennzeichnet mit 1 in Abbildung 3). Wenn Sie auf das Symbol klicken, öffnet sich ein Dropdown-Menü. Wählen Sie dort R Script an, damit ein neues Skript erstellt wird.

Ein Skript ist im Grunde ein gewöhnliches Textdokument – nur handelt es sich bei Ihrem Text eben um eine Sammlung aus Befehlen, die untereinander stehen und in RStudio aufgerufen werden können. Mit Erstellen eines Skripts erhalten Sie auch das letzte, vierte Panel, das die Konsole nun im Bildschirmfenster nach links unten rückt und darüber Platz nimmt (Abbildung 4).

Eine Empfehlung: Arbeiten Sie nur direkt über die Konsole, wenn es sich um Code handelt, der nicht maßgeblich für Ihre Auswertung ist und später keiner erneuten Ausführung bedarf (beispielsweise der Aufruf einer internen Hilfeseite). Im Zweifel gilt jedoch: Schreiben Sie jeden Befehl in Ihr Skript und rufen Sie den jeweiligen Befehl auch über das Skript auf (wie dies funktioniert, lesen Sie im Abschnitt Ausführen von Code).

Auch für das Speichern Ihres Skripts gibt es mehrere Möglichkeiten:

  • die Tastenkombination [Strg] + [S],
  • den Menüeintrag Save, der über File zu erreichen ist,
  • das Diskettensymbol der obersten Symbolleiste (gekennzeichnet mit 2 in Abbildung 3).

Es öffnet sich ein Dialogfenster, über das Sie auswählen können, in welchem Verzeichnis Ihr Skript gespeichert werden soll. Der Dateiname muss nicht die Endung .R beinhalten – diese wird automatisch ergänzt. Falls beim Speichern nach Encoding gefragt wird, wählen Sie ISO-8859-1, um deutsche Umlaute darstellen zu können.

Ausführen von Code

Abbildung 5: Ausführen eines Codeteils.
Abbildung 6: Ausführen einer Codezeile.
Abbildung 7: Ausführen mehrerer Codezeilen.

Mittlerweile liegt ein jungfräuliches Skript vor Ihnen. Schreiben Sie in dieses Skript nun Befehle, passiert jedoch zunächst einmal nichts – Sie müssen RStudio mitteilen, dass der von Ihnen geschriebene Code ausgeführt werden soll. Für diese Aktion stehen Ihnen drei Möglichkeiten zur Verfügung:

  • Ausführen eines Codeteils: Hierzu markieren Sie den Part einer Zeile, den Sie ausführen möchten (Abbildung 5).
  • Ausführen einer Codezeile: Hierzu setzen Sie den Cursor an eine beliebige Position in der Zeile (Abbildung 6).
  • Ausführen mehrerer Codezeilen: Hierzu markieren Sie alle Zeilen mit der Maus, die ausgeführt werden sollen (Abbildung 7).

Auf jede dieser Varianten folgt derselbe Schritt: die Tastenkombination [Strg] + [Enter]. Alternativ ist es auch möglich, den Code über Run auszuführen (gekennzeichnet in Abbildung 5). Der Output erscheint daraufhin in der Konsole.

Ändern des Zielverzeichnisses

Im Regelfall importieren Sie Ihre Daten irgendwann in RStudio – und exportieren Ihre Ergebnisse im Laufe Ihrer Analyse. Damit dies nicht zu unangenehmen Überraschungen führt, weil Sie beispielsweise nicht wissen, wo Ihre kürzlich generierte Grafik liegt, müssen Sie RStudio sagen, in welchem Verzeichnis es standartmäßig nach einer Datei suchen soll. Dafür dient die Angabe eines Zielverzeichnisses. Das Zielverzeichnis definieren Sie auf eine der folgenden Weisen:

  • die Tastenkombination [Strg] + [Umschalt] + [H],
  • den Menüeintrag Choose Directory, der über Session -> Set Working Directory zu erreichen ist.

In beiden Fällen öffnet sich ein Dialogfenster, über das Sie Ihr Zielverzeichnis festlegen und anschließend mit Choose bestätigen können. Ein Blick auf die Konsole sagt Ihnen auch, welchen Befehl RStudio im Hintergrund angewandt hat:

setwd("/home/users/sschneider")

Das Zielverzeichnis soll hier also /home/users/sschneider sein. Wenn Sie im weiteren Verlauf wissen möchten, wie Ihr Zielverzeichnis lautet, wagen Sie einfach einen Blick in das Panel Console: Dort ist das Zielverzeichnis in grauer Schrift direkt neben dem Text Console im Titel hinterlegt. Eine Alternative für Fortgeschrittene bietet folgender Befehl, der in die Konsole einzugeben ist:

getwd()
## [1] "/home/users/sschneider"

Auf das gewählte Zielverzeichnis bezieht sich RStudio nun in zwei Fällen, sofern kein absoluter Pfad angegeben wurde: Wenn eine Datei geladen oder gespeichert werden soll. Ein wichtiger Hinweis: Das Zielverzeichnis muss bei jedem Neustart von RStudio definiert werden. Angaben aus vorherigen Sitzungen werden nicht übernommen.

Die interne Hilfefunktion

Abbildung 8: Die interne Hilfefunktion.

In Kürze werden Sie bemerken, dass alle grundlegenden arithmetischen Funktionen bereits im Basispaket von RStudio vorhanden sind und Sie diese nur noch auszuführen brauchen. Dennoch kann es passieren, dass Sie nicht wissen, welche Argumente eine Funktion verlangt. Entsprechende Unterstützung bietet RStudio über die internen Hilfeseiten, die Sie über eine der folgenden Möglichkeiten aufrufen:

  • den Befehl help(funktionsname),
  • ein vorangestelltes Fragezeichen vor einer Funktion (?funktionsname),
  • die Suchfunktion des Reiters Help im Panel Working Directory, in welche Sie den Funktionsnamen eintragen und mit [Enter] bestätigen (beispielhaft in Abbildung 8).

Konkret bedeutet dies: Wenn Sie Informationen zu der Funktion mean suchen, die den Durchschnitt mehrerer Zahlen berechnet, nutzen Sie entweder die Suchfunktion oder führen Sie einen der zwei Befehle aus:

help(mean)
?mean

Die Hilfeseite öffnet sich anschließend im Reiter Help des Panels Working Directory. In den meisten Fällen finden Sie dort eine Beschreibung der Funktion (Description), wie sie aufgerufen wird (Usage), welche Argumente zugelassen sind (Arguments) und welcher Datentyp- beziehungsweise welche Datenstruktur zurückgegeben wird (Value). Weitere Informationen (Note) sind im Regelfall ebenso angeführt wie Referenzen zu entsprechender Literatur (References) und ein Block mit Beispielcode (Examples), den Sie über die Konsole ausführen können.

Anmerkungen

  1. Vielleicht erinnern Sie sich in Windows an den Affengriff: Die Tastenkombination [Strg] + [Alt] + [Entf] löst in neueren Versionen ein Menü mit Befehlen aus, um den Computer herunterzufahren oder den Taskmanager zu starten.
  2. Die deutschen Tastaturbelegungen finden Sie in der Wikipedia. Wenn Sie mit der Maus über die dort angezeigte Tastatur fahren, wird die Bezeichnung der jeweiligen Taste angezeigt.