FAQ

Überblick über das Öffnen verschiedener Dateien
Letzte Änderung am 10. Dezember 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.

Kurzbefehle zum Kopieren des Dateipfads

Windows

Wir drücken shift und machen dann einen Rechtsklick auf die Datei. Nun öffnet sich ein Menü, in welchem wir Als Dateipfad kopieren auswählen. Wichtig dabei ist, dass wir noch alle \ (backslashes) aus dem kopierten Pfad in / (forwardslashes) ändern müssen.

Mac

Wir klicken einmal auf die Datei (sodass sie markiert ist; dann ist sie blau hinterlegt) und führen dann den Kurzbefehl alt + cmd + C aus.

Für eine ausführlichere Anleitung zum Einlesen von Dateien in R gibt es ein eigenständiges Kapitel, in wir lernen, wie wir die Benutzeroberfläche von RStudio und Funktionen nutzen können.


.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.

exclamation Es kann dabei sein, dass unterschiedliche Personen zum korrekten Einlesen (derselben Datei) andere Argumenten nutzen. Das kann auf unterschiedliche Betriebssysteme oder Programme zum Öffnen der Dateien zurückzuführen sein.

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")

Alternativ können wir das Paket readxl nutzen. Dieses ermöglicht uns sogar .xlsx- und .xls-Dateien einzulesen.

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.

Weiterführende Hilfe

Falls wir ein seltener genutztes Dateiformat (z.B. Stata, JSON) in R einlesen möchten, können wir in dem Data Import Tutorial auf Datacamp nachschauen.


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 4.0.3 (2020-10-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.04.1 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0

locale:
 [1] LC_CTYPE=de_DE.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=de_DE.UTF-8        LC_COLLATE=de_DE.UTF-8    
 [5] LC_MONETARY=de_DE.UTF-8    LC_MESSAGES=de_DE.UTF-8   
 [7] LC_PAPER=de_DE.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods  
[7] base     

other attached packages:
[1] knitr_1.30     readxl_1.3.1   openxlsx_4.2.3 foreign_0.8-79

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.5       png_0.1-7        fansi_0.4.1     
 [4] digest_0.6.27    cellranger_1.1.0 magrittr_2.0.1  
 [7] evaluate_0.14    highr_0.8        zip_2.1.1       
[10] rlang_0.4.9      stringi_1.5.3    vctrs_0.3.5     
[13] rmarkdown_2.5    distill_1.1      tools_4.0.3     
[16] stringr_1.4.0    xfun_0.19        yaml_2.2.1      
[19] compiler_4.0.3   htmltools_0.5.0  downlit_0.2.1   

Für Informationen zur Interpretation dieses Outputs schaut auch den Abschnitt Replizierbarkeit von Analysen des Kapitels zu Paketen an.

jump-to-top

feedback-r-lernplattform