Für Windows-NutzerInnen
Letzte Änderung am 02. April 2020
Einleitung
Im Psychologiestudium kommt man um R nicht herum, und das aus gutem Grund, denn es ist kostenlos und bietet viele Möglichkeiten der Datenanalyse. Den meisten Studierenden fällt die Anwendung von R aber nicht leicht. Im Folgenden werden wir eine detaillierte Anleitung zum Einlesen von Daten in RStudio geben.
Beim Einlesen von Daten in R geschehen in der Regel zwei Dinge. Zum einen werden die Informationen, die oftmals in einem Datenfile (Textdatei, Excel-Sheet, SPSS Datenformat, etc.) gespeichert sind, ausgelesen. Zum anderen wird auf Basis dieser Daten innerhalb der R-Umgebung ein sogenanntes Datenobjekt erzeugt, oftmals in Form eines Dataframes.
Im Folgenden gehen wir die einzelnen Schritte bzw. die verschiedenen Wege zum Einlesen von Dateien durch. Grundsätzlich kann man die grafische Benutzeroberfläche von RStudio oder Funktionen
nutzen. Von den drei hier vorgestellten Wegen, Daten in RStudio einzulesen, sollten wir uns den auswählen, der uns am intuitivsten erscheint.
Exemplarisch schauen wir uns das Einlesen von Dateien für zwei weit verbreitete Arten von tabellarischen Daten an: .csv- und .txt-Dateien. Die Endung .csv steht für comma separated values; .txt steht für Textdatei.
Die Grafische Benutzeroberfläche, oder auch Benutzungsschnittstelle, wird häufig auch mit GUI (Graphical User Interface) abgekürzt. Durch diese kann man mit der Maus auf Symbole und andere Steuerelemente klicken anstatt Funktionen in der Konsole auszuführen. Die grafische Benutzeroberfläche in RStudio ist viel besser ausgebaut, weswegen wir diese auch nutzen wollen.
Die erste Frage, die sich stellt, ist, wie man an die Datenfiles kommt, die man einlesen möchte. Tatsächlich existieren hier unterschiedliche Wege. Im Rahmen eines Experimentes können Datenfiles selbst erstellt werden, z.B. in Excel (.xlsx). In Seminaren oder Übungen werden dagegen meist fertige Datenfiles über Moodle bereitgestellt, oftmals im .txt- oder .csv-Format.
Im nachfolgenden Beispiel wird gezeigt, wie man unter Benutzung des Browsers Google Chrome ein Datenfile aus einem Moodle-Kurs herunterladen, auf der Festplatte des Computers speichern und in RStudio einlesen kann.
Dazu begibt man sich in den entsprechenden Moodle-Kurs und wählt dann das Datenfile mit der rechten Maustaste an, wählt die Option Link speichern unter… sowie den gewünschten Zielordner zur Ablage aus (siehe Abb. 1).
Sehr wichtig ist es, sich immer zu merken, in welchem Ordner der heruntergeladene Datensatz gespeichert wird. Es ist sinnvoll, ihn bereits jetzt in dem Ordner zu speichern, in welchem man auch sein R-Skript später speichern möchte. Unter Windows und im Browser Chrome kann man den Zielordner sehr leicht herausfinden, indem man im Browser rechts oben auf die drei Punkte klickt und den Menüpunkt Downloads anwählt (siehe Abb. 2). Es öffnet sich ein neuer Tab im Browser, in dem man dann die Option In Ordner anzeigen auswählen kann.
Häufig werden heruntergeladene Datenfiles unter Windows standardmäßig im Ordner Downloads gespeichert. Möchte man eine Datenanalyse durchführen, ist es aber von Bedeutung, dass sich alle Files, auf die man zurückgreifen möchte, sowie das Skript selbst, in demselben Ordner befinden. Daher sollte man für jedes neue Projekt einen neuen Ordner anlegen und die heruntergeladenen Datenfiles dorthin verschieben.
Dazu wählt dann mit Rechtsklick die Datei im Ordner aus, die verschoben werden soll, und klickt dann auf die Option Ausschneiden (siehe Abb. 3). Im Gegensatz zu Kopieren entfernt dabei Ausschneiden das File bereits aus dem ursprünglichen Ordner.
Als nächstes begibt man sich in den Zielordner, den man zuvor ggfs. neu erstellt hat, und wählt nach einem Rechtsklick die Option Einfügen aus (siehe Abb. 4).
Jetzt befindet sich das Datenfile im Zielordner, in welchem gearbeitet werden soll.
Nachdem das Datenfile heruntergeladen und am gewünschten Zielort gespeichert ist, kann RStudio gestartet werden. Nun schauen wir uns an, wie man das Datenfile neuro.csv (bzw. neuro.txt) in R importieren kann.
Eine Variante, Daten in R zu importieren, die ganz ohne Code auskommt, ist es, direkt im Workspace auf das Icon Import Dataset zu klicken (siehe Abb. 5). Dazu wählt man im rechten oberen Panel den Reiter Environment aus und klickt dort auf das Icon Import Dataset. Achtung: das gilt nur für RStudio. In R gibt es diese Möglichkeit nicht!
Klickt man auf From CSV, öffnet sich ein Fenster, in dem man das Datenfile einlesen kann. Praktisch ist dabei, dass man eine Vorschau des Datenobjektes in R erhält und sofort sieht, wenn es Probleme mit der Interpretation der Trennungszeichen o.ä. gibt (siehe Abb. 6).
Dazu sind nachfolgende Schritte nötig:
Falls der Datensatz erfolgreich eingelesen wurde, erscheint nun im rechten oberen Panel (Reiter Environment im rechten oberen Panel von RStudio) ein Datenobjekt (vom Typ data.frame) mit der Bezeichnung neuro. Der inhaltlichen Analyse der Daten steht nun nichts mehr im Wege (siehe Abb. 7).
Funktionen
Dieser Weg mag auf den ersten Blick weniger intuitiv erscheinen, da er über Quelltext funktioniert (und nicht über das Klicken auf ein Icon), aber er ist auch weniger fehleranfällig. Zuerst muss ein sogenanntes Working Directory gesetzt werden. Dieses bezeichnet den Ordner, in dem gearbeitet werden soll, das Skript gespeichert wird und in dem sich auch das Datenfile befinden sollte. Im zweiten Schritt können die Daten/Informationen aus dem Datenfile in R eingelesen werden.
Zunächst sollte ein neues R-Skript geöffnet werden. Hierzu gehen wir auf File > New File > R-Script (siehe Abb. 8). In diesem Skript geben wir auch euren Quellcode ein.
Das neue R-Skript erscheint im linken oberen Panel in RStudio als Reiter mit dem Titel Untitled1.
Egal, von welchem Typ unser Datenfile ist, müssen zunächst mit dem Befehl setwd()
das Working Directory festlegen. In die Klammern muss dabei der Pfad des Ordners, in dem iwir arbeiten wollen, eingetragen werden. Unter Windows kann man den Pfad eines Ordners leicht finden und direkt kopieren (siehe Abb. 9). Dazu begibt man sich auf dem Computer in den Ordner, in welchem das Datenfile abgelegt ist. Man klickt nun einmal mit einen Rechtsklick in die Adresszeile im oberen Bereich der Ordneransicht.
Nun begibt man sich zurück zur Benutzeroberfläche von RStudio und fügt den kopierten Pfad als Argument der Funktion setwd()
in die Klammern des Befehls ein. Wichtig ist dabei, dass alle \ (backslash) aus dem kopierten Pfad dabei in / (slash) umgekehrt werden müssen. Zudem ist zu beachten, dass der Pfad als Argument der setwd()
-Funktion in " "
oder ' '
gesetzt wird (siehe Abb. 10).
Wenn dieser Befehl mit Run ausgeführt wurde, ist das Working Directory gesetzt. Wollten wir überprüfen, ob das Setzen des Working Directory funktioniert hat, können wir den Befehl getwd()
eingeben (siehe Abb. 11). Die Klammern des Befehls bleiben leer. Uns wird nun in der Konsole bzw. dem linken unteren Panel das aktuell gesetzte Working Directory ausgegeben.
Befindet sich das Datenfile in diesem Verzeichnis, kann jetzt das Einlesen folgen.
Welche Funktion hierfür angebracht ist, hängt von der Struktur des Datenfiles ab.
Handelt es sich um ein File vom Typ .csv, benötigt man den Befehl read.csv()
. Dazu gibt man die Funktion read.csv()
in das Skript ein. Das Argument dieser Funktion ist der Name des Datenfiles aus dem Working Directory, hier also neuro.csv. Wichtig ist auch hier wieder zu beachten, dass das dieser in Anführungszeichen gesetzt wird. Über das Drücken des Run
Buttons wird der Befehl ausgeführt. Das Datenobjekt sollte außerdem gleich unter einem sinnvollen Namen in R abgespeichert werden. In diesem Beispiel (siehe Abb. 12) wurde der Name daten gewählt.
In der Ansicht des Workspace (Reiter Environment im rechten oberen Panel von RStudio) sollte nun ein Objekt mit dem Namen daten erscheinen (siehe Abb. 13).
Handelt es sich dagegen um ein Datenfile vom Typ .txt oder .dat, so benötigt man den Befehl read.table()
(siehe Abb. 14). Der restliche Vorgang bleibt unverändert. Auch hier sollte in der Ansicht des Workspace (Reiter Enviroment im rechten oberen Panel von RStudio) ein neues Datenobjekt erscheinen.
Will man den Inhalt des neuen eingelesenen Datenobjektes anschauen möchtet, kann man im rechten oberen Panel der Benutzeroberfläche von RStudio auf das Datenobjekt klicken. In diesem Beispiel würde man einmal auf daten klicken. Nun sollte sich im linken oberen Panel ein neues Fenster öffnen, in welchem das Datenobjekt angezeigt wird (siehe Abb. 15).
Statt über den Befehl setwd()
kann man innerhalb von RStudio auch direkt den Ordner, in dem man arbeiten möchte auswählen und ihn dann als Working Directory festlegen.
Um einen Ordner auszuwählen, der dann als Working Directory festgelegt werden soll, muss man im rechten unteren Fenster von RStudio zunächst den Reiter Files anklicken (siehe Abb. 16).
Als nächstes wählt man rechts das Icon … aus (siehe Abb. 17).
Es öffnet sich nun ein kleines Fenster, in dem man den Ordner, in dem gearbeitet werden soll, per Mausklick auswählen kann (siehe Abb. 18).
Bestätigt man die Auswahl mit OK, ist im Panel Files neben dem Häuschen-Icon nun der Pfad des ausgewählten Ordners zu sehen. Darunter findet man alle Dateien, die sich in diesem Ordner befinden (siehe Abb. 19).
Achtung: Bisher ist dieser Ordner allerdings noch nicht als Working Directory festgelegt. Dazu muss man in der Leiste unterhalb der Reiter Buttons noch den mit dem Zahnrad-Icon versehenen Menüpunkt More und dann Set as Working Directory anwählen (siehe Abb. 20).
Hat man diesen Schritt erfolgreich ausgeführt, sollte jetzt in der Konsole bzw. dem linken unteren Panel der Befehl setwd()
mit dem gewünschten Verzeichnis innerhalb der Klammern zu sehen sein (siehe Abb. 21).
Von nun an ergeben sich einige Parallelen zu Weg 1. Möchte man nun z.B. die Daten aus dem Datenfile neuro.csv aus dem hier ausgewählten Beispielordner neue R-Aufgabe importieren, muss man neuro.csv und dann die Option Import Dataset anklicken (siehe Abb. 22).
Ähnlich wie im Weg 2 öffnet sich nun ein Fenster, in dem man kontrollieren kann, ob die Daten von R richtig aus dem Datenfile ausgelesen werden, d.h. ob z.B. die Trennungszeichen und die Kopfzeile auch als solche erkannt werden. Stimmt die Vorschau mit den Erwartungen überein, sollte man rechts unten auf Importieren klicken (siehe Abb. 23).
Im Workspace sollte nun der neue Dataframe zu finden sein (siehe Abb. 24).
Um eine möglichst exakte Replikation der Funktionen zu gewährleisten gibt es im folgenden relevante Angaben zum System (R-Version, Betriebssystem, geladene Pakete mit Angaben zur Version), mit welchem diese Seite erstellt wurde.
sessionInfo()
R version 3.6.3 (2020-02-29)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.6
Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib
locale:
[1] de_DE.UTF-8/de_DE.UTF-8/de_DE.UTF-8/C/de_DE.UTF-8/de_DE.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods
[7] base
other attached packages:
[1] captioner_2.2.3
loaded via a namespace (and not attached):
[1] compiler_3.6.3 magrittr_1.5 tools_3.6.3 htmltools_0.4.0
[5] yaml_2.2.1 Rcpp_1.0.4 distill_0.7 stringi_1.4.6
[9] rmarkdown_2.1 knitr_1.28 stringr_1.4.0 xfun_0.12
[13] digest_0.6.25 rlang_0.4.5 evaluate_0.14
Für Informationen zur Interpretation dieses Outputs schaut auch den Abschnitt Replizierbarkeit von Analysen des Kapitels zu Paketen an.