Website-Icon Björn Walther

Daten in R importieren

Es gibt verschiedene Datenformate bzw. Dateiformate, die man in R einlesen kann. Dieser Artikel zeigt eine Übersicht für die gängigsten Formate: csv, xlsx, sav, txt, dta.
Hinweis: Wenn ihr etwas exportieren wollt, schaut euch diesen Artikel an.

Wollt ihr mit dem Importassistent von RStudio arbeiten, empfehle ich euch folgenden Artikel: Daten in R mit RStudio und dem Assistent importieren<

In jedem Absatz behandle ich ein bestimmtes Dateiformat, dass ihr aus Excel, SPSS, STATA oder dem einfachen Editor heraus speichern könnt. Der Import erfolgt aus dem Arbeitsverzeichnis, welches mit der setwd()-Funktion festgelegt werden kann. Ich zeige aber auch, wie ihr Dateien außerhalb des Arbeitsverzeichnisses in R importieren könnt.


# Arbeitsverzeichnis definieren
setwd("C:/R-Dateien/")

1 CSV-Dateien in R importieren

CSV-Dateien kann man sich z.B. aus Excel heraus speichern lassen. Das Einlesen in R funktioniert mit der read.csv2-Funktion am einfachsten. Diese Funktion verwendet standardmäßig das Komma als Dezimaltrennzeichen und das Semikolon als Trennzeichen für die Datenquelle. Ich lese meine Daten (data.csv) hier in den Dataframe data_csv ein:


data_csv <- read.csv2("data.csv",na="NA", dec=",")

# außerhalb des Arbeitsverzeichnisses
data_csv <- read.csv2("C:/R-Dateien/data.csv",na="NA", dec=",")

Wichtig: Der Dateiname muss in Anführungszeichen (“data.csv“) geschrieben sein.

 

2 XLSX-Dateien in R importieren

XLSX-Dateien kann man sich ebenfalls aus Excel heraus speichern lassen. Sie sind fast genauso beliebt wie CSV-Dateien. Ich lese hier die Datei data.xlsx in den Dataframe data_xlsx mit dem Befehl read_excel ein.

Am einfachsten geht das mit dem readxl-Paket. Das installiert ihr mit dem Befehl install.packages(“readxl”) und ladet es mit library(readxl):


install.packages(“readxl“)
library (readxl)
data_xlsx <- read_excel("data.xlsx", na="NA")

# außerhalb des Arbeitsverzeichnisses
data_xlsx <- read_excel("C:/R-Dateien/data.xlsx", na="NA")

Hinweis: Habt ihr mehrere Tabellenblätter, wird mit obigem Code immer nur das erste importiert. Möchtet ihr ein anderes auswählen, müsst ihr mit dem sheet-Argument innerhalb von read_excel arbeiten. Zum Beispiel importiert ihr das Tabellenblatt mit dem Namen "Blatt 2" mit dem Befehl sheet="Blatt 2".


data_xlsx <- read_excel("data.xlsx", na="NA", sheet="Blatt2")

Grundlegend gibt es noch die Möglichkeit, mit range="A1:B23" nur einen Teil der Fälle zu importieren. Das sind dann die ersten 22 Fälle (in Zeile 1 stehen i.d.R. die Variablenbeschriftungen) mit den ersten beiden Variablen. Sinnvoller ist allerdings ein Komplettimport mit anschließendem Filtern in R.

 

3 SAV-Dateien (SPSS) in R importieren

SPSS speichert seine Daten im Format SAV. Zum Import empfehle ich die read_sav-Funktion des haven-Pakets.


install.packages("haven")
library (haven)
data_spss <- read_sav("data.sav")

# außerhalb des Arbeitsverzeichnisses
data_spss <- read_sav("C:/R-Dateien/data.sav")

Weitere Argumente braucht man hier nicht. Nahezu alle Informationen werden aus der SPSS-Datei übernommen, inklusive benutzerdefinierter fehlender Werte (werden direkt zu NA), Skala usw.

 

4 TXT-Dateien in R importieren

TXT-Dateien werden häufig auch aus Excel heraus gespeichert, wenn man nicht sicher ist, ob der Empfänger der Daten diese in Excel öffnen kann. In meinem Falle lese ich Daten (data.txt) in einen Dataframe mit dem Namen data_txt ein. Ich verwende dazu die Funktion read.table.


data_txt <- read.table("data.txt", sep="\t", header=TRUE, dec=",")

# außerhalb des Arbeitsverzeichnisses
data_txt <- read.table("C:/R-Dateien/data.txt", sep="\t", header=TRUE, dec=","

Analog zu oben, gebe ich als Erstes die Datenquelle (data.txt) in die read.table()-Funktion.

 

5 DTA-Dateien in R importieren

Ebenfalls über das haven-Paket können Dateien aus STATA in R importiert werden. Hierzu wird die Funktion read_dta verwendet. Allerdings sollten die Dateien in Version 13 oder später von STATA gespeichert sein.

Hier importiere ich aus der data.dta-Datei in den Dataframe "data_stata".


install.packages("haven")
library (haven)
data_stata <- read_dta("data.dta")

# außerhalb des Arbeitsverzeichnisses
data_stata <- read_dta("C:/R-Dateien/data.dta")

Analog zu SPSS werden sämtliche relevanten Attribute im Dataframe in R übernommen.

 

6 Beispieldatensatz downloaden

Beinhaltet .csv und .xlsx-Datei.


 
Die mobile Version verlassen