1 Tutorial 1: Installation und Aufbau von R und R-Studio
R ist die Programmiersprache, mit der wir arbeiten. R-Studio ist eine grafische Benutzeroberfläche, die uns das Programmieren mit R und damit das Leben ungemein erleichtert. In Tutorial 1 lernen Sie:
- wie Sie R und R Studio installieren
1.1 Installation von R
Bitte downloaden Sie via Cran die neueste Version von R (4.0.2, “Taking off again”). Dafür müssen Sie Ihr jeweiliges Betriebssystem auswählen.
1.2 Installation von R-Studio
Bitte installieren Sie dann R-Studio - das Programm, über das wir auf R zugreifen und mit dem wir unsere Befehle schreiben. R-Studio kann über diesen Link heruntergeladen werden.
1.3 Aufbau von R-Studio
Ganz grundsätzlich ist es wichtig zu wissen, dass R eine objekt- und funktionsorientiere Programmiersprache ist. Chambers, 2014, S. 4 schreibt dazu:
- Everything that exists is an object.
- Everything that happens is a function call.
Das heisst: Alles, was R ausgibt, ist ein Objekt. R nutzt Funktionen, um bestimmte Werte (z.B. eine einzelne Zahl, eine Reihe von Zahlen, Text) diesen Objekten zuzuweisen. Zum Vergleich mit SPSS: Wenn Sie in SPSS einen Datensatz bearbeiten, nutzen Sie das Menü, um sich dort über Klicks für diesen z.B. den Mittelwert einer Variable ausgeben zu lassen. In R weisen Sie den Datensatz einem Objekt zu (z.B. dem Objekt “data”), um ihn via R bearbeiten zu können. Dann analysieren Sie dieses Objekt, in dem Sie nicht via Klicks im Menü die Mittelwerte berechnen, sondern eine spezifische Funktion zur Mittelwertsberechnung aufrufen, mittels derer Sie das Objekt “data” analysieren.
Wenn ich hier sage, dass Sie lernen sollen, “mit R zu arbeiten”, heisst das eigentlich: Sie sollen lernen, mit R-Studio R zu bedienen. Das heisst, Sie brauchen R für alle folgenden Tutorials nicht direkt zu öffnen. Alle Codes werden via R-Studio geschrieben und ausgeführt - es reicht also, wenn Sie jetzt R-Studio öffnen. Schauen wir uns zunächst an, wie R-Studio aufgebaut ist. Klassischerweise arbeiten wir in R-Studio mit 4 Fenstern, mit denen wir unterschiedliche Dinge machen:
- Code schreiben (Fenster 1: Source)
- Code ausführen (Fenster 2: Konsole)
- unsere Daten inspizieren (Fenster 3: Environment)
- Grafiken visualisieren/Hilfe suchen, etc (Fenster 4: Files/Plots/Packages etc.).
Bild: Die vier relevanten Fenster in R
1.3.1 Source: Code schreiben
“Source” ist das Fenster, in dem wir unseren Code schreiben. Hier wandeln Sie Ihre Aufgaben an R in einen Befehl in der Programmiersprache R um.
Bild: Das Fenster “Source”
Sagen wir, Sie wollen, dass R das Wort “hello” ausgibt. In diesem Fall schreiben Sie einen einfachen Befehl, der R auffordert, ein Objekt abzuspeichern (“Word”), das aus dem Wort “hello” besteht. Die erste Zeile weist das Wort “hello” dem Objekt “word” zu (Aufforderung an R: Bitte speichere das Wort “hello” als Objekt “Word” ab).
Die zweite Zeile des Codes fordert R auf, dass Objekt “Word” auszugeben (Aufforderung an R: Zeig mir, was das Objekt “Word” beinhaltet). Wie wir wissen, besteht das Objekt “Word” aus dem Wort “hello”. Das heisst, wenn R das Objekt “Word” ausgibt, sollte er “hello” ausgeben. Der Befehl - der hier noch nicht ausgeführt wird - lautet dann folgerndermassen:
Wie würde man via R diesen Code jetzt ausführen? Sie können Code in R zeichen-, zeilen- oder blockweise ausführen. D.h., sie können sowohl
- einen Teil des Codes in einer Zeile markieren und ausführen
- eine einzelne Zeile Code markieren und ausführen
- mehrere Zeilen Code markieren und am Stück ausführen
Zum Ausführen von Code drücken Sie einfach auf “Run” rechts oben im Fenster. Alternativ können Sie auch auf den entsprechenden Code markieren und Alt + Enter drücken. R führt dann genau den Code aus, der von Ihrem Cursor markiert ist.
Bild: Ausführen von Befehlen
Zudem können Sie Befehle kommentieren. Oft macht es Sinn, sich im Code selbst Anmerkungen zu Problemen zu machen oder klarzustellen, was ein Befehl genau bewirken soll. Diese Kommentare - d.h. Dinge im Code, die nicht ausgeführt werden sollen, sondern rein der Dokumentation dienen, können durch #-Hashtags gekennzeichnet werden. Ein Beispiel:
word <- "hello" #Hiermit weise ich dem Objekt "word" das Wort "hello" zu
print(word) #Hiermit zeige ich an, was das Objekt "Word" enthält
Ihre Befehle, d.h. Ihren Code, können Sie für zukünftige Analysen abspeichern. D.h., Sie müssen die Befehle nicht immer wieder neu schreiben, sondern könnt sie einmal schreiben und via “File/Save as” speichern. Hier z.B. als R-Skript Datei mit der Endung R, z.b. mycode.R. Beim nächsten Mal können Sie dieses R-Skript einfach öffnen und ausführen.
Bild: Abspeichern von Befehlen
1.3.2 Konsole: Ergebnisse des Codes anzeigen
Wir wissen jetzt, dass “Source” das Fenster ist, in dem wir Code schreiben. Daneben gibt es als zweites Fenster die “Konsole”, welches uns die Ergebnisse unseres Codes ausgibt.
Bild: Das Fenster “Konsole”
Vorab hatten wir R beauftragt, ein Objekt “Word” zu definieren1, das aus dem Wort “hello” besteht, und uns dann den Inhalt dieses Projektes auszugeben. In der Konsole sehen Sie jetzt, was passiert, wenn wir diesen Befehl über das Fenster “Source” ausführen. Hier gibt R also die Ergebnisse Ihres Codes aus:
## [1] "hello"
1.3.3 Environment: Überblick über Objekte & Daten
Ein drittes, für uns relevantes Fenster ist “Environment”. Hier sehen wir, welche Objekte derzeit vorhanden sind (was Objekte sind, damit beschäftigen wir uns im nächsten Tutorial). Sie können dieses Fenster ähnlich wie die SPSS-Datenansicht verstehen, wo Sie sehen, welche Datensätze dem Programm derzeit zu Verfügung stehen - allerdings deutlich flexibler, da mehrere Datensätze, einzelne Objekte und selbstgeschriebene Funktionen über diese Ansicht aufgelistet werden.
Wir hatten vorab ein Objekt namens “Word” definiert, das nur aus dem Wort “hello” besteht. Entsprechend listet unser Working Environment das Objekt “Word” auf. Das heisst, das ist ein Objekt, das bereits R zur Bearbeitung mit Funktionen zur Verfügung steht.
Bild: Das Fenster “Environment”
1.3.4 Files/Plots/Packages etc.: Visualisierung, Hilfe
Ein viertes, für uns relevantes Fenster ist “Files/Plots/Packages etc.”. Dieses Fenster hat eine Reihe von nützlichen Funktionen. Wenn Sie Ihre Daten etwa durch Grafiken visualisieren wollen, werden diese Visualisierungen hier angezeigt. Gleichzeitig können Sie hier nachlesen, welche Packages (vorgeschriebene Funktionen für bestimmte Analysezwecke, etwa automatisierte Inhaltsanalysen) welche Funktionen enthalten oder Hilfe zu bestimmten Funktionen erhalten.
Bild: Das Fenster “Files/Plots/Packages etc.”
1.4 Take-Aways
- Source: Fenster, in dem Befehle geschrieben und ausgeführt werden
- Konsole: Fenster, in dem Ergebnisse unserer Befehle ausgegeben werden
- Environment: Fenster, in dem wir aktuell vorhandene Objekte in unserem “Arbeitsspeicher” sehen
- Files/Plot/Packages etc.: Fenster, in dem Visualisierungen, installierte Packages oder Informationen zu Funktionen angezeigt werden
1.5 Weitere Tutorials zu diesen Schritten
Sind Fragen offen geblieben? Folgende Tutorials & Paper helfen zu den hier genannten Schritten weiter:
- YaRrr! The Pirate’s Guide to R von N.D.Phillips, Tutorial 2
- Computational Methods in der politischen Kommunikationsforschung von J. Unkel, Tutorial 1
- SICSS Boot Camp von C. Bail, Video 1
- wegweisR von M. Haim, Video 1
- R Cookbook von Long et al., Tutorial 1
Wir machen weiter: mit Tutorial 2: Workflow in R
Eigentlich definieren wir nicht das Objekt “word”, sondern weisen den Wert “hello” dem Objekt “Word” zu. Der Einfachheit/Verständlichkeit halber nutze ich hier den Ausdruck definieren für die Zuweisung von Werten zu Objekten↩