2 + 3
[1] 5
exp(1)
[1] 2.718282
3/4
[1] 0.75
Bevor wir mit dem Inhalt anfangen, sollten wir uns ein wenig mit RStudio anfreunden. Öffnen Sie nun RStudio. Das Programm sollte ungefähr so aussehen:
Unter dem Menu Preferences
oder Global Options
kann man RStudio den eigenen Präferenzen anpassen. Wir empfehlen aber dringend, folgende zwei Optionen nicht zu aktivieren:
Diese Optionen sind zwar manchmal verlockend, da damit alle Daten und Variablen automatisch wieder geladen werden. Es ist aber meistens besser, mit einem leeren Workspace zu beginnen, und die ausgeführten R Befehle in einem Script oder Notebook festzuhalten.
Zudem müssen Sie in den Optionen unter Code
die Option use native pipe operator
aktivieren.
Das RStudio GUI (Graphical User Interface) besteht aus mehreren Bereichen. Auf der linken Seite (rot markiert) erscheint die R
Konsole. Hier kann R
Code eingegeben werden, der dann von R
interpretiert (ausgeführt) wird. Das >
Zeichen ist die sogenannte R
Prompt (Aufforderungszeichen). Wir können so interaktiv mit R
arbeiten, und R
z.B. auch als Taschenrechner benutzen:
2 + 3
[1] 5
exp(1)
[1] 2.718282
3/4
[1] 0.75
Rechts oben (gelb markiert) erscheinen zwei Bereiche, Environment und History. Im Environment-Bereich sehen wir alle Variablen, Datensätze und Funktionen, welche wir definiert haben. Diese erscheinen im Global Environment (Dropdown-Menü). Wenn Sie auf dieses Menü klicken, sehen Sie, welche Packages geladen sind. Wenn Sie z.B. das stats
Package auswählen, sehen Sie alle Funktionen, die durch dieses Package verfügbar gemacht werden. Wir werden in Kürze mehr über Packages erfahren.
Im History-Bereich sehen Sie alle Befehle, die Sie bisher ausgeführt haben.
Rechts unten (blau markiert) erscheinen die Bereiche Files (Dateimanager), Plots, Packages und der Help Viewer.
Im Dateimanager können Sie das Arbeitsverzeichnis (working directory) wechseln und Dateien öffnen:
Bevor wir anfangen, mit RStudio zu arbeiten, müssen wir einige Packages installieren. Packages stellen zusätzliche Funktionen zur Verfügung, welche nicht in der Basisausstattung von R
(base R
) enthalten sind. Wir installieren zunächst eine Sammlung von Packages zur Datenmanipulation (tidyr
, dplyr
, forcats
), zum Importieren von Datenfiles (readr
) und für Grafiken (ggplot2
). Da diese Packages alle Teil des Meta-Packages tidyverse
sind, können sie alle zusammen mit folgendem Befehl installiert werden, welchen wir in die Konsole eingeben:
install.packages("tidyverse")
Anschliessend können wir die Packages so laden:
library(tidyverse)
Als Alternative dazu können Packages über das GUI installiert
und geladen werden.
Ausserdem können so alle Packages aktualisiert werden (Update) - es empfiehlt sich, dies regelmässig zu tun.
R
Packages werden auf einem Server bereitgestellt: The Comprehensive R Archive Network, oder CRAN. Unter Task Views sehen Sie Sammlungen von Packages zu bestimmten Themen; die Task View zum Thema Psychometrik finden Sie hier: CRAN Task View: Psychometric Models and Methods.
Da die meisten Statistiker:innen mit R
arbeiten, gibt es fast zu jedem Thema ein R
Package, oder zumindest R
Code, den man mit einer gezielten Suche im Internet finden kann (siehe auch nächster Abschnitt).
Selbst wenn man täglich mit R
arbeitet, ist es (fast) unmöglich, sich alle Funktionen zu merken. R
hat ein sehr gutes eingebautes Hilfesystem, welches aber für Anfänger nicht leicht verständlich ist. Dies ist im Bereich Help zugänglich:
Sehr empfehlenswert ist die Question und Answer Website Stackoverflow - hier finden sich Antworten auf (fast) alle möglichen Fragen (es gibt meistens jemanden, der oder die das gleiche Problem schon einmal hatte).
Wenn man gezielt suchen will, kann man im Suchfenster des Help Viewers einen Begriff eingeben. Wenn man einfach herausfinden möchte, welche Funktionen in einem installierten Package verfügbar sind, kann man im Packages-Bereich nach einem Package suchen, und dann auf dieses klicken, um die Hilfeseiten zu sehen.
Wenn man in der Konsole schnell Hilfe zu einer Funktion erhalten will, kann man so vorgehen:
help(mean)
Dies öffnet die Hilfeseite für die mean
Funktion. Alternativ dazu kann man auch ?mean
eingeben.
Man kann aber auch zu einem Thema Hilfe suchen. Wenn wir z.B. Hilfe zum Thema Zahlen auf- oder abrunden brauchen, können wir help("round")
eingeben. Weitere Hilfe zur help()
Funktion finden Sie so: help(help)
.
Nun können wir mit der Arbeit beginnen. Es empfiehlt sich, ein Projekt anzulegen, über das Menu File > New Project
. Sie können das Projekt nennen, wie Sie wollen - wir haben den Namen programmieren-mit-R
gewählt.
Der Vorteil eines Projekts (im Vergleich zu einer einzelnen neuen R Script-Datei) besteht zunächst darin, dass RStudio beim einem Neustart wieder alle Files öffnet. Ausserdem kann man beliebig viele Projekte erstellen, und entweder gleichzeitig offen haben, oder zwischen ihnen wechseln. Des weiteren wird beim Öffnen eines Projekts das Arbeitsverzeichnis automatisch auf den Ordner definiert, in dem sich die Projekt-Datei befindet. Man muss sich also dann nicht mehr um das working directory kümmern und kann z.B. Daten- oder Skriptdateien direkt vom Projektordner aus aufrufen, ohne jedes Mal den vollständigen Pfad definieren zu müssen.
Es gibt im Wesentlichen zwei Vorgehensweisen, wenn man mit R arbeiten will: man kann 1) entweder Befehle direkt in die Konsole eintippen, oder 2) eine Textdatei (R
Script-Datei öffnen, Befehle in die Datei schreiben, und diese dann an die Konsole schicken.
Mit der Konsole arbeiten ist zu empfehlen, wenn man schnell etwas ausprobieren will, oder wenn man Befehle wiederholen will (dies kann man mit den Up
/Down
-Pfeiltasten machen), aber es ist meistens besser, wenn man mit einer Textdatei arbeitet.
Manchmal passiert es, dass man einen Befehl unvollständig eingibt. R
wartet dann auf weiteren Input, und zeigt dies mit einem +
an.
Hier wurde z.B. die Klammer vergessen:
> mean(x
+
Nun muss man entweder die fehlende Klammer eingeben, um den Befehl zu vervollständigen, oder man kann mit der ESCAPE
-Taste abbrechen.
Für den Fall, dass R
abstürzt, kann man mit Hilfe des Menus Session > Interrupt R oder Session > Terminate R auswählen.
R
ScriptWir öffnen und speichern ein neues R
Script (Textdatei mit dem Suffix .R
). Geben Sie hier nun z.B.
2 + 3
[1] 5
ein, wählen sie den Text aus, und klicken sie auf Run. Sie haben auch im Menü Code verschiedene Möglichkeiten (und Tastaturkürzel), um Code auszuführen.
Der Output erscheint in der Konsole.
Sie haben gerade einen Vektor definiert. Im Output erscheint
> x <- c(101, 105, 99, 87, 102, 98)
und im Environment sehen Sie, dass x
ein num [1:6]
ist. Dies bedeutet, dass x
ein numerischer Vektor der Länge 6 ist.
Der Boxplot erscheint im separaten Plots Viewer.
R
Scripts eignen sich am besten, wenn man längere Programme schreiben oder ganze Datenanalysen speichern will. Für die interaktive Arbeit gibt es R Notebooks, welche wir uns als nächstes ansehen werden.
R
Notebooks verwendenR
Notebooks sind “RMarkdown-interaktiv” (RMarkdown ist eine simple Markup-Sprache), und zeigen Text (Prosa), R
Code und Grafiken im selben Dokument an.
Öffnen Sie eine neues Notebook File:
\(~\)
\(~\)
Sie können dies nun speichern. Notebooks (und alle RMarkdown Dokumente) erhalten das Suffix .Rmd
.
Das Notebook sollte so aussehen:
\(~\)
Im Notebook sehen Sie sowohl Text mit der R Markdown Markup-Sprache, als auch R
Code-Chunks. Diese können ausgeführt werden.
\(~\)
Wenn Sie auf den grünen Pfeil klicken erscheint der Output direkt unter dem Code-Chunk.
Klicken Sie nun auf Preview, oder benützen Sie die entsprechende Tastenkombination: CMD
+ Shift
+ K
(macOS) oder CTRL
+ Shift
+ K
(Windows). RStudio wird Sie nun darauf hinweisen, dass fehlende R
Packages installiert werden müssen (dies ist nur beim ersten mal der Fall). Stimmen Sie der Installation zu, das Notebook wird dann anschliessend kompiliert, und es erscheint ein HTML Dokument im Viewer. Dieses beinhaltet sowohl Text als auch den evaluierten R
Code, und kann als eigenständiges Dokument weitergegeben werden. Ein weiterer Vorteil eines Notebooks: Sie können daraus ein Word-Dokument erstellen:
Probieren Sie es selber aus.
RStudio verfügt über eine weitere sehr hilfreiche Funktion: Tab completion. Wenn man in der Konsole oder in einem Script/Notebook den Anfang eines Befehls eingibt, und dann die Tabulator-Taste drückt, erscheint ein Menu mit möglichen completions. Wenn wir z.B. einen Mittelwert berechnen wollen, schreiben wir mean
, und drücken dann Tab
. Es erscheint eine Liste mit möglichen Optionen.
\(~\)
Wenn man ausserdem eine Funktion eingegeben hat, und innerhalb der Klammern Tab
drückt, erscheint eine Liste mit den Argumenten dieser Funktion.
\(~\)
Eine weitere nützliche Funktion: wenn wir nicht sicher sind, wie eine Funktion heisst, aber wir wissen, in welchem Package wir sie finden, können wir den Package Namen schreiben, gefolgt von ::
, und dann Tab
drücken. RStudio gibt uns eine Liste mit allen Funktion dieses Packages. Schreiben Sie:
:: dplyr
drücken Tab
, und RStudio übernimmt den Rest.
Wenn wir mit R
arbeiten, werden wir folgende Zeichen häufig brauchen:
[ ] Square braces (eckige Klammern)
{ } Curly braces (geschweifte Klammern)
$ Dollar key (Dollarzeichen - für das Subsetting/Auswählen von Variablen benötigt)
# Hash (pound) key (Rautezeichen - für Kommentare in R Script Dateien)
~ Tilde (für die Model Notation/Modellformulierung)
| Vertical bar (senkrechter Strich - als logischer Operator benötigt, siehe nächstes Kapitel)
` Backtick (Gravis-Akzent - wird hauptsächlich für code chunks benötigt, muss selten manuell eingegeben werden)
Leider sind manche dieser Zeichen auf Tastaturen mit Schweizerischem Tastaturlayout nicht leicht auffindbar.