Daten in R importieren

von | Zuletzt bearbeitet am: Dec 5, 2023 | Daten einlesen in R, R


Es gibt verschiedene Datenformate, 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.

In jedem Absatz behandle ich ein bestimmtes Dateiformat, das 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.


setwd("C:/R-Dateien/")

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

 

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.

  • Fehlende Werte werden mit na=“NA“ spezifiziert. Damit weiß R, dass diese in Berechnungen nicht verwendet werden.
  • dec=“,“ ist das Dezimaltrennzeichen. In meinem Falle ist in der csv-Datei das Dezimaltrennzeichen ein Komma, deswegen gebe ich “,“ an.

 

2 XLSX-Dateien in R importieren

XLSX-Dateien kann man sich ebenfalls aus Excel heraus speichern lassen und sind fast genauso beliebt wie die eben gezeigten 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 der sheet-Funktion innerhalb on 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 sind 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, da nahezu alle Informationen aus der SPSS-Datei übernommen werden, 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.

  • sep="\t" definiert, wie die Spalten bzw. Variablen voneinander in der txt-Datei getrennt sind. In meinem Fall sind es Tabulatoren, da verwendet man "t". Ansonsten kann man auch einfach " " verwenden, wenn man sich nicht sicher ist.
  • header ist ein Argument für die Kopfzeile. Habt ihr Variablennamen in der allerersten Zeile eurer Datei, solltet ihr hier TRUE verwenden, ansonsten FALSE.
  • dec="," erlaubt euch die Spezifikation des Dezimaltrennzeichens.

 

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 größer 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.


 

Hat dir der Beitrag geholfen?

Dann würde ich mich über eine kleine Spende freuen, die es mir erlaubt, weiterhin kostenfreie Inhalte zu veröffentlichen.
Alternativ kannst du über meinen Amazon Affiliate-Link einkaufen – ohne Zusatzkosten.

Vielen Dank und viel Erfolg!

Über mich

Björn Walther

Ein 💚 für Statistik & Datenanalyse

Excel Online-Kurs

YouTube-Kanal

Inhalt