Für Mac-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 R Studio 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 R Studio 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 eine csv-Datei aus einem Moodle-Kurs herunterladen, auf der Festplatte des Computers speichern und in RStudio einlesen kann.
Man wählt das Datenfile an, indem man gleichzeitig die Maustaste und die ctrl-Taste drückt (alternativ kann man einen Rechtsklick ausführen). Nun öffnet sich ein Menü, indem man die Option Link speichern unter… sowie anschließend den gewünschten Zielordner zur Ablage auswählt (siehe Abb. 1). Wenn man dies macht, befindet sich das Datenfile von Anfang an im richtigen Arbeits- bzw. Zielordner. Es sollte für jedes Projekt ein spezifischer Ordner angelegt werden.
Sehr wichtig ist es, sich immer zu merken, in welchem Ordner der heruntergeladene Datensatz gespeichert wird. Den Zielordner kann man finden, 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 Finder anzeigen auswählen kann. Anschließend öffnet sich der Finder und zeigt die betreffende Datei an.
Man öffnet die Datei im Browser (z.B. in einem neuen Tab), macht einen Rechtsklick (dabei darf nichts markiert sein) und klickt auf Seite sichern unter…. In dem Fenster, welches sich dann öffnet, muss man bei Format noch festlegen, dass man den Quelltext der Seite (und nicht das Webarchiv) herunterladen möchte (siehe Abb. 3). Auch hier kann man festlegen, wo die Datei gespeichert werden soll.
Manchmal wird man beim Speichern gefragt, ob die Endung .txt angehängt werden soll. Das sollte man verneinen, da ansonsten das Dateiformat geändert wird bzw. die Endung sich doppelt.
Oben rechts im Browser sieht man einen nach unten zeigenden Pfeil. Wenn wir auf diesen klicken, können wir uns die heruntergeladene Datei im Finder anzeigen lassen.
Häufig werden heruntergeladene Datenfiles unter Mac OS X standardmäßig im Ordner Downloads gespeichert. Möchte man eine Datenanalyse durchführen, ist es aber wichtig, dass alle Files, auf die man zurückgreifen möchte, sowie das Skript selbst, sich 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 man im Finder den Download Ordner aus und sucht die Datei, die verschoben werden soll. Man wählt diese dann aus, indem man in die Zeile klickt, in welcher der Dateiname steht, und gleichzeitig die ctrl-Taste drückt (oder einen Rechtsklick ausführt). Nun öffnet sich ein Menü, in welchem man Kopieren auswählt (siehe Abb. 4).
Als nächstes begibt man sich in den Zielordner, den man zuvor ggfs. neu erstellt hat. Man klickt in den Ordner und drückt gleichzeitig die ctrl-Taste. In dem Menü, welches sich nun öffnet, wählt man Objekt einsetzen aus (siehe Abb. 5).
Die Datei ist nun im Zielordner gespeichert. Die entsprechende Datei kann anschließend gegebenenfalls aus dem Download-Ordner gelöscht werden.
Anstatt die Datei zu kopieren, in einen neuen Ordner einzufügen und zu löschen, kann man auch das Drag & Drop Prinzip benutzen, und die Datei mit der Maus einfach an den gewünschten Zielort ziehen.
Nachdem das Datenfile heruntergeladen und am gewünschten Zielort gespeichert ist, kann R-Studio 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. 6). 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. 7).
In neueren RStudio-Versionen steht From Text (base) und From Text (readr) anstatt From CSV. Beides kann genutzt werden, um CSV-Dateien einzulesen. base ist ein Standardpaket, welches in R von Beginn an vorinstalliert ist. Um
readr()
nutzen zu können, muss man erst das gleichnamige Paket herunterladen. Die nachfolgend genannten Schritte beziehen sich auf die Benutzung von From Text (readr).
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. 8).
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. 9). In diesem Skript geben wir auch unseren Quellcode ein.
Das neue R-Skript erscheint im linken oberen Panel in RStudio als Reiter mit dem Titel Untitled1.
Um das R-Skript zu speichern sollte man unter File > Save as auswählen (siehe Abb. 10).
Alternativ kann man hier auch den Kurzbefehl CMD ⌘ + S zum speichern nutzen.
Es öffnet sich nun ein Fenster in dem unter Save File der Name des Skriptes eingegeben werden kann (siehe Abb. 11). Unter dem Punkt Where wird der Speicherort des Skriptes festgelegt. Es ist wichtig das Skript in dem gleichen projektspezifischen Zielordner zu speichern, in welchem auch schon der Datensatz gespeichert wurde (siehe 1. Datei herunterladen).
Egal, von welchem Typ unser Datenfile ist, müssen wir zunächst mit dem Befehl setwd()
das Working Directory festlegen. In die Klammern muss dabei der Pfad des Ordners, in dem wir arbeiten wollen, eingetragen werden.
Der Pfad eines Ordners kann unter Mac kopiert werden, indem man den Ordner einmal anklickt (d.h. nur markiert, dann ist er blau hinterlegt) und dann den Kurzbefehl Alt ⌥ + CMD ⌘ + C ausführt (siehe Abb. 12).
Nun begibt man sich zurück in RStudio und fügt den kopierten Pfad als Argument der Funktion setwd()
in die Klammern des Befehls ein. Das kann man mit der Tastenkombination CMD ⌘ + V tun. Man muss darauf achten, dass man den Dateipfad mit " "
oder ' '
umschließt (siehe Abb. 13).
Wenn der Befehl mit Run ausgeführt wurde, ist das Working Directory gesetzt. Wollen wir überprüfen, ob das Setzen des Working Directory funktioniert hat, können wir den Befehl getwd()
eingeben (siehe Abb. 14). Die Klammern des Befehls bleiben leer. Euch wird nun in der Konsole (d.h. dem linken unteren Panel) das aktuell gesetzte Working Directory ausgegeben.
An dieser Stelle sollte noch einmal kontrolliert werden, ob das Datenfile mit dem gearbeitet werden soll, in dem Ordner gespeichert ist, welcher nun als Working Directory gesetzt ist. Um diese Überprüfung vorzunehmen, kann man im rechten unteren Panel unter dem Reiter Files > More auswählen. Unter dem sich dann öffnenden Menü sollte Go to Working Directory angeklickt werden (siehe Abb. 15).
Es öffnet sich im rechten unteren Panel bei RStudio nun der als Working Directory gesetzte Ordner mit allen Dateien, die in ihm gespeichert sind. Wenn das Datenfile, wie unter 2. Verschieben der Datei in den Arbeitsordner beschrieben, richtig im Zielordner - also in dem als Working Directory gesetzten Ordner - abgespeichert ist, sollte es nun im rechten unteren Panel mit angezeigt werden.
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 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. 16) wurde der Name daten gewählt.
In der Ansicht des Workspace (Reiter Enviroment im rechten oberen Panel) sollte nun ein Objekt mit dem Namen daten erscheinen (siehe Abb. 17).
Handelt es sich dagegen um ein Datenfile vom Typ .txt oder .dat, so benötigt man den Befehl read.table()
(siehe Abb. 18). Der restliche Vorgang bleibt unverändert. Auch hier sollte in der Ansicht des Workspace (Reiter Enviroment im rechten oberen Panel) ein neues Datenobjekt erscheinen.
Will man den Inhalt des neuen eingelesenen Datenobjektes anschauen, kann man im rechten oberen Panel (Environment) 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. 19).
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. 20).
Als nächstes wählt man rechts das Icon … aus (siehe Abb. 21).
Es öffnet sich nun ein Fenster, in dem man den Ordner, in dem gearbeitet werden soll, per Mausklick auswählen kann (siehe Abb. 22).
Bestätigt man die Auswahl mit Open, 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. 23).
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. 24).
Hat man diesen Schritt erfolgreich ausgeführt, sollte jetzt in der Konsole (d.h. dem linken unteren Panel) der Befehl setwd()
mit dem gewünschten Verzeichnis innerhalb der Klammern zu sehen sein (siehe Abb. 25).
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. 26).
Ä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. 27).
In der Ansicht des Workspace im rechten oberen Panel sollte nun der neue Dataframe zu finden sein (siehe Abb. 28).
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.
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.