Daten in R importieren
11.0.1 Dateiformate
Es gibt viele Dateiformate für rechteckige Daten (Daten mit Spalten und Zeilen). Solche Daten werden auch als Flat Files bezeichnet, da sie in dem Sinne flach sind, dass sie nur zwei Dimensionen haben (Zeilen und Spalten). Manche Anwendungen (SPSS, SAS, STATA, Excel, Numbers usw.) verwenden spezifische Dateiformate, die von anderen Anwendungen nicht genutzt werden können. Das kann beim Austausch von Daten zwischen verschiedenen Anwendungen zum Problem werden. Um solche Probleme zu vermeiden, kann man ein universelles Dateiformat verwenden, also ein Format, das von allen Programmen auf allen Computern gelesen werden kann. Das universellste Dateiformat ist DSV, was für Delimiter Separated Values steht, auf Deutsch durch Trennzeichen getrennte Werte.
In diesen Dateien sind die Werte durch ein Trennzeichen voneinander abgegrenzt. Die folgende Tabelle zeigt verschiedene DSV-Formate. Der Unterschied zwischen diesen Formaten liegt einzig im Trennzeichen. Im Prinzip kann jedes beliebige Zeichen als Trennzeichen dienen. Das häufigste Trennzeichen ist das Komma (,), und dieser Dateityp heißt CSV (Comma Separated Values).
| Dateityp | Trennzeichen, Name | Trennzeichen, Zeichen |
|---|---|---|
| CSV (Comma Separated Values) | Komma | , |
| TSV (Tab Separated Values) | Tabulator | |
| CSV (Colon Separated Values | Doppelpunkt | ; |
Dateitypen und Trennzeichen.
DSV-Dateien sind schlicht Textdateien, in denen die Werte (Spalten) durch ein Trennzeichen abgegrenzt sind. Jede Zeile einer DSV-Datei ist eine Beobachtung. So sieht eine CSV-Datei aus:
date, patient, diagnosis
25 May, Adam, Diabetes
25 May, Uma, Rheumatoid arthritis
15 July, Robin, Heart diseaseAuf den ersten Blick wirkt die Datei unübersichtlich, weil keine sichtbaren Spalten vorhanden sind. Tatsächlich ist dies aber eine vollwertige Art, Daten zu speichern, und zudem kann die Datei von allen Anwendungen gelesen werden.
Wir können die obige CSV-Datei mit der Funktion [read_csv()](https://readr.tidyverse.org/reference/read_delim.html) aus dem Package readr direkt in R einlesen. Vergessen Sie nicht, das Package readr zu installieren (install.packages("readr")), falls es Ihnen noch fehlt.
## Package readr aktivieren
library(readr)
## Daten im CSV-Format direkt in R einlesen
mina_data <- read_csv("date, patient, diagnosis
25 May, Adam, Diabetes
25 May, Uma, Rheumatoid arthritis
15 July, Robin, Heart disease")
## Unseren Data Frame anzeigen
mina_data## A tibble: 3 × 3
date patient diagnosis
<chr> <chr> <chr>
1 25 May Adam Diabetes
2 25 May Uma Rheumatoid arthritis
3 15 July Robin Heart diseaseWie oben zu sehen ist, entspricht jede Zeile einer DSV-Datei einer Zeile in einer zweidimensionalen Tabelle. Beachten Sie außerdem, dass die erste Zeile die Spaltennamen enthält.
Die häufigsten Trennzeichen für DSV-Dateien sind Komma (,), Tabulator (\t) und Semikolon (;).
Alle Anwendungen für Statistik und Data Science können DSV-Dateien importieren und exportieren. Daher ist DSV eine einfache und sichere Methode, um Daten zu speichern und zu übertragen. Ein Nachteil von DSV-Dateien ist, dass sie keine Metadaten zu den Variablen enthalten. In mehreren der populärsten Anwendungen lassen sich Metadaten für Variablen anlegen. Zu den Metadaten gehören unter anderem:
- Variablentyp: In Excel, SAS, SPSS usw. kann eine Spalte als numerisch, ganzzahlig, Datum usw. festgelegt werden.
- Label der Variablen: Ein Label (Beschriftung) ist eine druckfreundliche Variante des Variablennamens. Beispielsweise kann die Variable “sysblodtrck” das Label”Systolischer Blutdruck” erhalten.
- Labels für die Ausprägungen kategorialer Variablen: Häufig werden die Werte kategorialer Variablen in Excel, SPSS, SAS usw. als Zahlen gespeichert. Beispielsweise kann die Variable “Geschlecht” die Werte 0 und 1 haben, wobei 0 für Mann und 1 für Frau steht. In den meisten Programmen können auch diese Ausprägungen ein druckfreundliches Label erhalten.
Die Informationen aus 1, 2 und 3 gehen beim Export in das DSV-Format verloren. Für den ersten Punkt (Verlust des Variablentyps) ist das kein großes Problem, da R beim Import von Daten den Variablentyp ausgesprochen gut errät und Sie Variablentypen zudem selbst umwandeln können (siehe vorheriges Kapitel). Bei den Punkten 2 und 3 kann der Verlust der Metadaten lästiger sein, da man diese Arbeit unter Umständen manuell wiederholen muss.
11.1 Working Directory (wd): Ihr Arbeitsordner
Ihr Working Directory ist Ihr Arbeitsordner bzw. Ihr Arbeitsbereich. Das ist der Ort (meist ein Ordner), an dem R zuerst nach Dateien sucht und in dem R Dateien speichert, sofern Sie nicht ausdrücklich einen anderen Ort dafür angeben. Folgende Grundsätze sind zu empfehlen:
- Für jede Studie/jeden Bericht/jede Analyse, die Sie in R durchführen, sollten Sie ein neues Projekt anlegen (Abbildung 11.1).
- Wenn Sie ein neues Projekt anlegen, können Sie einen neuen Ordner erstellen, in dem das Projekt liegt.
- In diesem Ordner wird eine Datei mit der Dateiendung .rproj gespeichert. Wenn Sie mit dem Projekt arbeiten möchten, klicken Sie einfach auf diese Datei, um R zu starten (Abbildung 11.2).
- Legen Sie alle Ihre Dateien (Excel, SPSS, SAS, CSV usw.) in diesem Ordner ab.


Wenn Sie diesen Grundsatz befolgen, ist es sehr einfach, Dateien in R einzulesen und Dateien aus R auf den Computer zu schreiben.
Mit der Funktion getwd() können Sie prüfen, welches Working Directory Sie haben:
getwd()[1] "/Users/Adam/Desktop/DataScienceBook"Wenn Sie in einem Projekt arbeiten, sollten Sie das Working Directory nicht wechseln. Wenn Sie nicht in einem Projekt arbeiten, können Sie das Working Directory mit der Funktion [setwd()](https://rdrr.io/r/base/getwd.html) wechseln. Wir wechseln nun das Working Directory in den Ordner MyProject auf dem Schreibtisch.
setwd("/Users/Adam/Desktop/MyProject")Der Pfad zum Ordner auf dem Schreibtisch kann auf Ihrem Computer anders aussehen.
11.2 Dateien vom Computer importieren
Nun importieren wir Dateien vom lokalen Computer (dem, an dem wir arbeiten) mithilfe der Packages readr und readxl. Das Package readr wird für mehrere verschiedene Dateitypen verwendet, readxl für Excel-Dateien.
install.packages("readr")
install.packages("reaxl")Packages aktivieren:
library(readxl)
library(readr)Tatsächlich sind beide Packages Teil des Meta-Packages tidyverse, sodass es genügt, tidyverse zu installieren und zu aktivieren. Unten wurde die Zeile für die Installation auskommentiert, da das Package auf diesem Computer bereits installiert ist.
install.packages("tidyverse")
library(tidyverse)Tidyverse ist ein ganzes Ökosystem sehr leistungsfähiger Packages. Die Entwickler von tidyverse waren der Ansicht, dass das Data-Frame-Objekt von R angepasst werden musste, um besser mit den tidyverse-Packages zusammenzuarbeiten. Deshalb schufen sie eine Variante des Data Frame namens tibble. Die Packages readr und readxl erzeugen Data Frames vom Typ tibble!
Das Package readr enthält folgende Funktionen zum Importieren von Daten:
[read_csv()](https://readr.tidyverse.org/reference/read_delim.html)zum Einlesen von CSV-Dateien mit Komma (,) als Trennzeichen. In diesen Dateien wird der Punkt (.) als Dezimaltrennzeichen für numerische Werte verwendet.[read_csv2()](https://readr.tidyverse.org/reference/read_delim.html)zum Einlesen von CSV-Dateien mit Semikolon (;) als Trennzeichen. In diesen Dateien wird das Komma (,) als Dezimaltrennzeichen für numerische Werte verwendet.[read_tsv()](https://readr.tidyverse.org/reference/read_delim.html)liest Tab Separated Files ein[read_fwf()](https://readr.tidyverse.org/reference/read_fwf.html)liest Fixed-Width Files ein[read_log()](https://readr.tidyverse.org/reference/read_log.html)liest Web-Log-Dateien ein[read_delim()](https://readr.tidyverse.org/reference/read_delim.html)Universalfunktion, die alle Arten von DSV-Dateien lesen kann, wobei das Trennzeichen explizit angegeben werden muss.
Diese Funktionen verwenden dieselbe Syntax, sodass es genügt, eine Funktion zu lernen, um auch die anderen anwenden zu können.
Unten ist eine CSV-Datei zu sehen, die sich für den Import mit read_csv() eignet:
name, bloodvalue,
Adam, 90.5,
Janet, 80.1,Unten ist eine CSV-Datei zu sehen, die sich für den Import mit read_csv2() eignet:
name; bloodvalue;
Adam; 90,5;
Janet; 80,1;Um Hilfe zu read_csv() zu erhalten, schreiben Sie ein Fragezeichen vor den Funktionsnamen:
?read_csvDaraufhin wird die Hilfe für alle Funktionen im Package readr angezeigt, und die Dokumentation beginnt mit read_delim(), der Universalfunktion:

Unter der Überschrift Usage für [read_csv()](https://readr.tidyverse.org/reference/read_delim.html) findet sich Folgendes:
read_csv(
file,
col_names = TRUE,
col_types = NULL,
col_select = NULL,
id = NULL,
locale = default_locale(),
na = c("", "NA"),
quoted_na = TRUE,
quote = "\"",
comment = "",
trim_ws = TRUE,
skip = 0,
n_max = Inf,
guess_max = min(1000, n_max),
name_repair = "unique",
num_threads = readr_threads(),
progress = show_progress(),
show_col_types = should_show_types(),
skip_empty_rows = TRUE,
lazy = should_read_lazy()
)Das erste Argument ist file, also der Pfad zur Datei und der Dateiname. Liegt die Datei, die Sie importieren möchten, in Ihrem Working Directory, geben Sie nur den Dateinamen an. Liegt die Datei nicht in Ihrem Working Directory, müssen Sie den vollständigen Pfad zur Datei angeben.
Betrachten Sie folgende Ordnerstruktur. Ganz oben steht der Ordner Studie1, darin befinden sich die Datei data1.csv und der Ordner Projektet. Der Ordner R-Projekt ist unser Working Directory; darin liegen die Dateien Studie1.rproj, Script.R und data2.csv sowie der Ordner Enkäter, der wiederum data3.csv enthält.
Studie1
│ data1.csv
│
└───Projektet (working directory)
│ Studie1.rproj
│ Script.R
| data2.csv
|
└───Enkäter
| data3.csvBeispiel 1: data2.csv importieren, die in unserem Working Directory liegt:
mina_data <- read_csv(file="data2.csv")Beispiel 2: data3.csv importieren, die im Ordner Enkäter im Working Directory liegt:
mina_data <- read_csv(file="Enkäter/data3.csv")Beispiel 3: data1.csv importieren, die eine Ebene höher als das Working Directory liegt. Um R auf einen übergeordneten Ordner zu verweisen, verwendet man zwei Punkte (..), wie folgt:
mina_data <- read_csv(file="../data1.csv")R geht also von Ihrem Working Directory aus, um Dateien zu finden. Wenn Sie nicht von Ihrem Working Directory ausgehen möchten, müssen Sie den vollständigen Pfad zur Datei samt Dateinamen angeben.
Hier gibt es mehrere Dinge zu beachten:
- Die Funktion
[read_csv()](https://readr.tidyverse.org/reference/read_delim.html)hat viele Argumente (file, col_names, col_types, col_select usw.). Trotzdem haben wir oben nur ein einziges Argument (file) angegeben. Das bedeutet, dass die Funktion es toleriert hat, dass wir nicht alle Argumente festlegen. Die Argumente, die wir nicht festgelegt haben, werden auf ihre Standardwerte (Defaults) gesetzt. Welcher Standardwert gilt, geht aus der Hilfe hervor (siehe oben). - In der Hilfe ist unter Usage ersichtlich, dass der Default für col_names TRUE ist, was bedeutet, dass R die erste Zeile als Spaltennamen festlegt.
In der Funktion [read_csv()](https://readr.tidyverse.org/reference/read_delim.html) sind file und col_names die ersten beiden Argumente. Wir geben dies im folgenden Befehl an:
mina_data <- read_csv(file="data.csv", col_names = TRUE)Da es sich um die ersten Argumente handelt, können wir die Namen der Argumente sogar weglassen und die Werte direkt angeben:
mina_data <- read_csv("data.csv", TRUE)Man kann also darauf verzichten, die Argumente zu benennen, muss dann aber die Werte der Argumente in genau derselben Reihenfolge wie die Argumente angeben.
Nun lesen wir Daten mit [read_csv()](https://readr.tidyverse.org/reference/read_delim.html) direkt aus dem Skript ein und geben anschließend das Ergebnis aus:
mina_data <- read_csv("name, bloodvalue, sex, education
Adam, 90.5, male, 1
Janet, 80.1, female, 2")
## Ergebnis ausgeben
mina_data## A tibble: 2 × 4
name bloodvalue sex education
<chr> <dbl> <chr> <dbl>
1 Adam 90.5 male 1
2 Janet 80.1 female 2Beachten Sie Folgendes:
[read_csv()](https://readr.tidyverse.org/reference/read_delim.html)hat die erste Zeile als Spaltennamen verwendet.- Die Spalten
nameundsexwurden als<chr>klassifiziert, was character bedeutet. bloodvalueist ein<dbl>, was double bedeutet.- Die Spalte
educationwird als<int>klassifiziert, also integer. Numerische Werte ohne Ganzzahlen werden als Integers klassifiziert.
Wenn die erste Zeile keine Spaltennamen enthält, verwendet man das Argument col_names=FALSE. Die Spalten erhalten dann die Namen X1, X2, X3, …, Xn.
read_csv("Adam, 90.5, male, 1
Janet, 80.1, female, 2",
col_names=FALSE)Rows: 2 Columns: 4
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (2): X1, X3
dbl (2): X2, X4
## A tibble: 2 × 4
X1 X2 X3 X4
<chr> <dbl> <chr> <dbl>
1 Adam 90.5 male 1
2 Janet 80.1 female 2Sie können die Spaltennamen auch direkt festlegen, wenn Sie möchten:
mina_data <- read_csv("Adam, 90.5, male, 1
Janet, 80.1, female, 2",
col_names=c("Namn", "Blodvärde", "Kön", "Utbildning"))Rows: 2 Columns: 4
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (2): Namn, Kön
dbl (2): Blodvärde, Utbildningmina_data## A tibble: 2 × 4
Namn Blodvärde Kön Utbildning
<chr> <dbl> <chr> <dbl>
1 Adam 90.5 male 1
2 Janet 80.1 female 211.2.1 Fehlende Werte angeben
Die meisten Programmiersprachen verwenden ein bestimmtes Symbol für fehlende Daten. Fehlende Angaben müssen stets explizit gekennzeichnet werden. R verwendet das Symbol NA (Not Available), um anzuzeigen, dass ein Wert fehlt. Lesen wir dieselben Daten noch einmal ein, lassen aber Adams Blutdruck weg:
mina_data <- read_csv("Namn, Blodtryck, Kön, Utbildning
Adam, , male, 1
Janet, 80.1, female, 2")Rows: 2 Columns: 4
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (2): Namn, Kön
dbl (2): Blodtryck, Utbildningmina_data## A tibble: 2 × 4
Namn Blodtryck Kön Utbildning
<chr> <dbl> <chr> <dbl>
1 Adam NA male 1
2 Janet 80.1 female 2Die Funktion [read_csv()](https://readr.tidyverse.org/reference/read_delim.html) erkennt, dass ein Wert fehlt, und setzt ihn auf NA. Verwenden die zu importierenden Daten ein bestimmtes Zeichen zur Kennzeichnung fehlender Werte, können Sie dies [read_csv()](https://readr.tidyverse.org/reference/read_delim.html) mit dem Argument na mitteilen. Im folgenden Beispiel geben wir an, dass das Symbol * fehlende Werte kennzeichnet:
mina_data <- read_csv("name, bloodvalue, sex, education
Adam, *, male, 1
Janet, 80.1, female, 2", na="*")Rows: 2 Columns: 4
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (2): name, sex
dbl (2): bloodvalue, educationmina_data## A tibble: 2 × 4
name bloodvalue sex education
<chr> <dbl> <chr> <dbl>
1 Adam NA male 1
2 Janet 80.1 female 2Dieselben Grundsätze gelten für die übrigen Funktionen im Package readr.
11.2.2 Trennzeichen wechseln
DSV-Dateien können andere Trennzeichen als das Komma verwenden. In diesem Fall kann man [read_delim()](https://readr.tidyverse.org/reference/read_delim.html) verwenden und das Trennzeichen angeben, im folgenden Fall ein Semikolon (;):
mina_data <- read_delim("name; bloodvalue; sex; education
Adam; 90.5; male; 1
Janet; 80.1; female; 2", delim=";")Rows: 2 Columns: 4
── Column specification ────────────────────────────────────────────────────────
Delimiter: ";"
chr (4): name, bloodvalue, sex, educationmina_data## A tibble: 2 × 4
name ` bloodvalue` ` sex` ` education`
<chr> <chr> <chr> <chr>
1 " Adam" " 90.5" " male" " 1"
2 " Janet" " 80.1" " female" " 2"11.2.3 readr im Vergleich zu den Standardfunktionen in R
R verfügt über eingebaute Funktionen zum Lesen von DSV-Dateien. Diese Funktionen befinden sich im Package base und werden daher Base-Funktionen genannt. Die Funktion zum Lesen von CSV-Dateien ist read.csv() (nicht zu verwechseln mit read_csv() aus dem Package readr). Wir empfehlen die Funktionen aus readr und readxl aus folgenden Gründen:
- readr und readxl sind schneller als Base-Funktionen.
- readr und readxl haben eine Fortschrittsanzeige für große Dateien.
Wenn Sie sehr große Dateien einlesen möchten, sind folgende Packages zu empfehlen:
fread()im Package data.table.vroom()im Package vroom.
Data Frame vs. Tibble
Wenn Sie Dateien mit den Standardfunktionen von R importieren, werden Objekte in Form von Data Frames erzeugt. Die moderneren Funktionen in den Packages readr und readxl erzeugen stattdessen Tibbles, eine Art Data Frame, die reibungslos mit den Funktionen der großen tidyverse-Bibliothek zusammenarbeitet. Sie werden voraussichtlich nicht merken, ob Sie mit Tibbles oder Data Frames arbeiten.
11.3 Dateien aus Excel importieren
Excel-Dateien können mit drei verschiedenen Funktionen des Packages readxl importiert werden. Von diesen Funktionen genügt es, sich mit der Funktion [read_excel()](https://readxl.tidyverse.org/reference/read_excel.html) vertraut zu machen, da sie für alle Excel-Dateien funktioniert.
Funktion im Package readxl |
Erklärung |
|---|---|
[read_excel()](https://readxl.tidyverse.org/reference/read_excel.html) |
Liest alle Dateien ein (xls und xlsx). |
[read_xls()](https://readxl.tidyverse.org/reference/read_excel.html) |
Liest Dateien mit der Dateiendung xls ein. |
[read_xlsx()](https://readxl.tidyverse.org/reference/read_excel.html) |
Liest Dateien mit der Dateiendung xlsx ein. |
Funktionen für den Import aus Excel nach R.
Angenommen, wir haben die Datei PatientData.xlsx in unserem Working Directory. In dieser Datei enthält die erste Zeile die Namen der Spalten (Variablennamen). Wir lesen die Datei ein und speichern sie im Objekt mina_data:
mina_data <- read_excel(path='PatientData.xlsx',
col_names = TRUE)Angenommen, die Datei PatientData.xlsx hat stattdessen drei Blätter (engl. sheet), und wir möchten mit folgenden Vorgaben importieren:
- Die erste Zeile enthält die Namen der Spalten.
- Wir möchten das dritte Blatt importieren.
- Wir möchten höchstens 500 Zeilen importieren.
- R soll das Sternchen (
*) als fehlende Daten (Missing Data) interpretieren, da wir fehlende Daten in unserer Excel-Datei so gekennzeichnet haben.
Der entsprechende Code lautet wie folgt:
mina_data <- read_excel(path='PatientData.xlsx',
col_names = TRUE,
sheet=3,
n_max=500,
na='*')11.4 Daten aus SAS einlesen
SAS-Dateien verwenden die Dateiendungen *.*sas7bdat und .sas7bcat. Sie werden mit dem Package haven importiert. Die Funktion heißt [read_sas()](https://haven.tidyverse.org/reference/read_sas.html) und funktioniert sehr ähnlich wie [read_csv()](https://readr.tidyverse.org/reference/read_delim.html). Es folgt ein Beispiel für den Import einer SAS-Datei:
library(haven)
mina_data <- read_sas(data_file='PatientData.sas7bdat')Um Hilfe zur Funktion [read_sas()](https://haven.tidyverse.org/reference/read_sas.html) zu erhalten, verwendet man den Befehl:
?read_sasVergessen Sie nicht, haven zu installieren (install.packages("haven")), falls Sie dies noch nicht getan haben.
11.5 Daten aus SPSS einlesen
SPSS-Dateien verwenden die Dateiendungen .sav, .zsav oder .por. Alle diese Dateien können mit der Funktion [read_spss()](https://haven.tidyverse.org/reference/read_spss.html) importiert werden, die sich ebenfalls im Package haven befindet. Es folgt ein Beispiel für den Import einer SPSS-Datei:
library(haven)
mina_data <- read_spss(data_file='PatientData.sav')Um Hilfe zur Funktion [read_sav()](https://haven.tidyverse.org/reference/read_spss.html) zu erhalten, verwendet man den Befehl:
?read_spss11.6 Daten aus STATA einlesen
STATA-Dateien verwenden die Dateiendung *.*dta. Diese Dateien können mit der Funktion [read_stata()](https://haven.tidyverse.org/reference/read_dta.html) importiert werden, die sich ebenfalls im Package haven befindet. Es folgt ein Beispiel für den Import einer SPSS-Datei:
library(haven)
mina_data <- read_stata(data_file='PatientData.dta')Um Hilfe zur Funktion [read_stata()](https://haven.tidyverse.org/reference/read_dta.html) zu erhalten, verwendet man den Befehl:
?read_stata11.7 Daten aus REDCap eCRF einlesen
REDCap (Research Electronic Data Capture) ist ein webbasiertes CRF (Clinical Research Form), das an vielen Kliniken und Universitäten eingesetzt wird. In REDCap werden Forschungsdaten auf einem Server gespeichert, und die Verwendung von REDCap bietet viele Vorteile, insbesondere in prospektiven Studien
Mit dem Package REDCapR lassen sich Daten direkt aus REDCap in R importieren. Installieren und aktivieren Sie zunächst das Package:
install.packages("REDCapR")Package aktivieren:
library(REDCapR)Jedes Projekt in REDCap hat eine URI und einen Token. Melden Sie sich bei REDCap an, um diese Parameter für Ihr Projekt abzurufen. Anschließend werden die Objekte uri und token wie folgt angelegt:
uri <- "https://bbmc.ouhsc.edu/redcap/api/"
token <- "9A81268476645C4E5F03428B8AC3AA7B"Um den gesamten Datensatz (einschließlich aller Spalten) abzurufen, verwendet man den folgenden Befehl. Denken Sie daran, dass wir die Werte der Objekte uri und token im vorherigen Schritt festgelegt haben. Wir speichern den Datensatz in unserem neuen Objekt mina_data.
mina_data <- redcap_read(redcap_uri = uri, token = token)$dataDanach haben Sie einen gewöhnlichen Data Frame mit dem gesamten Datensatz aus REDCap.
Weitere Informationen zur Verwendung des Packages finden Sie in der Dokumentation.
11.8 Daten aus Datenbanken einlesen (SQL)
Für das Einlesen von Daten aus SQL-Datenbanken gibt es die folgenden Packages. Sie werden nach denselben Grundsätzen wie REDCap verwendet.
DBIRMySQLRSQLiteRPostgreSQL
11.9 Hierarchische Dateien einlesen (XML, json)
Für hierarchische Daten gibt es die Packages jsonlite für json und xml2 für XML.