FAQ

Überblick über das Öffnen verschiedener Dateien
Letzte Änderung am 26. März 2020

Um Daten in R aufbereiten und bearbeiten zu können, muss man diese erst einmal einlesen können. Manchmal gestaltet sich das leider schwieriger als erwartet.

Im Folgenden wollen wir uns einige Methoden zum Einlesen gängiger Dateiformate in R anschauen. Das Dateiformat einer Datei erkennt man an seiner Endung.

Um die nachfolgenden Funktionen zu nutzen, müsst ihr einfach Dateipfad durch den Dateipfad eurer Datei ersetzen. Außerdem müsst ihr dem einzulesenden Objekt in R einen Namen zuweisen z.B. daten <- read.table(); ansonsten wird die Datei nicht gespeichert im Environment. Natürlich könnt ihr euer Objekt auch anders benennen.

Kurzbefehl zum Kopieren des Dateipfads unter Mac

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.


Für eine ausführlichere Anleitung zum Einlesen von Dateien in R gibt es jeweils ein Kapitel für Windows oder Mac.


.csv, .txt und .dat

Diese Dateiformate sind die am weitesten verbreiteten Tabellendateien. Alle drei können u.a. mit den folgenden Funktionen eingelesen werden:

Diese drei Funktionen sind sehr ähnlich aufgebaut. Sind haben aber teilweise unterschiedliche Voreinstellungen (sog. “Defaults”). Zum Beispiel nimmt read.csv() an, dass Elemente aus verschiedenen Spalten in einer Zeile jeweils mit einem Komma (sep=",") getrennt sind. Dafür werden bei read.table() ohne weitere Spezifikation die Spaltennamen nicht eingelesen (header=FALSE).

In Abhängigkeit der Speicherung der Dateien muss man teilweise noch weitere Argumente der Funktionen nutzen (d.h. nicht die Defaults einer Funktion nutzen).

Um in Erfahrung zu bringen, welche Argumente wir nutzen müsst, um die Daten korrekt einzulesen, können wir einen Trial-and-Error Ansatz verwenden:

V1
uni,satis_uni,residence,satis_location_uni
FU,5.5130602101329025,S,4.4057101367098666
FU,7.233871516077954,Z,5.760182068473526
HU,12.890984224974451,Z,7.205686095942897
HU,8.691844540148681,Z,5.2505748559609025
FU,5.136949092682058,N,5.421972864044606
uni satis_uni residence satis_location_uni
FU 5.513060 S 4.405710
FU 7.233872 Z 5.760182
HU 12.890984 Z 7.205686
HU 8.691845 Z 5.250575
FU 5.136949 N 5.421973
HU 7.777371 O 6.593942

Nun wird die Datei korrekt dargestellt.

Es kann dabei Unterschiede zwischen verschiedenen Betriebssystemen, innerhalb der Versionen des gleichen Betriebssystems oder zwischen verschiedenen Versionen von Programmen zum Lesen von Tabellendaten (z.B. Excel) geben. Lasst euch also nicht verunsichern, wenn der selbe Datensatz bei euch anders eingelesen werden muss (z.B. mit mehr Spezifikationen von Argumenten) als bei anderen NutzerInnen.

Mehr Informationen zu den Funktionen und ihren Argumenten findet wir, wenn wir unter read.table in der R-Dokumentation (Help im unteren rechten Panel) nachschauen, oder indem wir ?read.table in die Konsole eingeben.

.xls und .xlsx

Diese Endungen gehören zum Programm Excel. Man muss externe Pakete installieren, um Excel-Dateien in R einlesen zu können.

Um .xlsx-Dateien einzulesen, nutzen wir das Paket openxlsx.


library(openxlsx)
daten <- read.xlsx("Dateipfad")

Um .xls- und .xlsx-Dateien einzulesen, kann man das Paket readxl nutzen.


library(readxl)
daten <- read.xlsx("Dateipfad")

.sav

Die Endung .sav wird z.B. für SPSS-Dateien genutzt wird. Hierfür muss man wieder ein zusätzliches Paket (z.B. foreign) runterladen, um SPSS-Dateien in R einlesen zu können.


library(foreign)
daten <- read.spss("Dateipfad", to.data.frame = TRUE)
# ohne to.data.frame wird eine Liste erzeugt

Dateien via URL direkt aus dem Internet laden

Man kann Dateien auch direkt aus dem Internet laden mit Hilfe ihrer URL.


daten <- load(url("Webadresse"))

Alternativ kann man die Datei auch herunterladen und dann in Abhängigkeit ihres Formats mit einem der oberen Befehle einlesen.

.R, .Rda und .Rmd

R-eigene Dateien kann man am besten öffnen, indem man auf sie klickt. Mac-Benutzer haben dabei manchmal das Problem, das sich die Datei per default in R öffnet.