Wir haben in den letzten Kapiteln bereits die (atomaren) Datentypen logical, integer, double und character kennengelernt. An der Datentabelle nycflights sehen wir, dass es noch weitere Typen gibt. Wir wollen in diesem Kapitel ein wenig Struktur in die Datentypen bringen und die atomaren Datentypen von den zusammengestzten Daten, die wir auch Datenstrukturen nennen abgrenzen.
12.1 Atomare Datentypen
In der Tabelle 17.2 sind die sechs atomaren Datentypen mit den Kurznamen, wie sie in einem Tibble auftauchen, sowie Beispielen aufgeführt.
Tabelle 12.1: In R gibt es sechs verschiedene atomare Datentypen. Alle anderen Datentypen bzw. Datenstrukturen werden aus diesen zusammengesetzt. Der Typ raw ist nur der Vollständigkeit aufgeführt und wird im Wesentlichen nicht benötigt. Der raw-Typ sind nicht interpretierte Speicherwerte.
Name
Kurzname
Erklärung
Beispiele
logical
<lgl>
Logischer Ausdruck
TRUE, T, FALSE, F
integer
<int>
ganze Zahlen
2, 4L, -7
double
<dbl>
Fließkommazahlen
1.2, pi, 3e-7
complex
<cpl>
Komplexe Zahlen
2+3i, 0-1i
character
<chr>
Zeichenketten
"Haus", "K2", "110_112"
raw
<raw>
Rohdaten (Byte-Darstellung) (selten!)
as.raw(255)
Vektoren sind die zugrunde liegende Strukturform in der Daten
Mit der Funktion typeof() können wir bei einem R-Objekt den Datentyp herausfinden.
(Geordnete) Faktoren benötigt man immer dann, wenn es für ein Merkmal endlich viele bekannte und feste Ausprägungen, den Levels, gibt. Wir weden uns in Kapitel 15 noch damit beschäftigen.
Name
Kurzname
Erklärung
Beispiele
factor
<fct>
Kategoriale Merkmale mit festen Levels
"rot", "blau", "grün"
ordered
<ord>
Geordnete kategoriale Merkmale
"klein" < "mittel" < "groß"
12.3 Zeitbezogene Typen
Name
Kurzname
Erklärung
Beispiele
📅 date
<date>
Datum (ohne Zeit)
as.Date("2023-09-22")
⏰ datetime
<dttm>
Datum und Uhrzeit (POSIXct)
asPOSIXct("2025-10-21 11:20:00")
⏳ difftime
<difftime>
Zeitdifferenz zwischen zwei Daten/Zeitpunkten
difftime(Sys.time(), start)
📈 ts (time series)
<ts>
Zeitreihenobjekt mit fester Frequenz
ts(1:10, start=2020, freq=4)
12.4 Zusammengesetzte Datenstrukturen
Name
Kurzname
Erklärung
Beispiele
📚 list
<list>
Sammlung beliebiger Objekte (heterogen)
list(1, "a", TRUE)
🧮 matrix
<mtrx>
2D-Array gleichen Datentyps
matrix(1:6, ncol=2)
🧊 array
<arr>
Mehrdimensionale Datenstruktur gleichen Typs
array(1:8, dim=c(2,2,2))
📊 data.frame
<df>
Tabellarische Struktur mit Spalten unterschiedlichen Typs