R: rbind()-Funktion und Datenzusammenführung
Wenn Sie Datensätze haben, die die gleiche Spaltenanzahl besitzen, und Sie diese einfach untereinander anordnen möchten, dann sollten Sie rbind() in R nutzen.
Was ist die Aufgabe von rbind() in R?
R rbind() ist eine nützliche Funktion, um Daten zeilenweise zu verknüpfen. Einer der Hauptanwendungsfälle besteht darin, neue Informationen zu einem bestehenden Data Frame hinzuzufügen. Dies ist nützlich, wenn Sie regelmäßig aktualisierte Daten haben und diese in einen vorhandenen Datensatz integrieren möchten. Bei der Verarbeitung von Daten in Schleifen oder iterativen Prozessen führt rbind() die Ergebnisse schrittweise zusammen.
Darüber hinaus wird R rbind() oft zum Kombinieren von Data Frames mit gleicher Struktur verwendet, sei es für eine umfassendere Analyse oder um verschiedene Teile eines Datensatzes zu einem Gesamtdatensatz zu vereinen. Sie sollten beachten, dass rbind() für kleinere Datensätze effizient ist. Bei großen Datensätzen ist es empfehlenswert, Pakete wie dplyr zu benutzen, da Sie so die Performance erhöhen.
So sieht die Syntax von R rbind() aus
Sie können beliebig viele Data Frames als Parameter von rbind() angeben, um sie zu kombinieren. Wichtig ist, dass alle übergebenen Datenrahmen die gleiche Anzahl von Spalten und identische Spaltennamen haben müssen.
rbind(data.frame1, data.frame2, ...)rDie Argumente data.frame1, data.frame2 usw. repräsentieren die Datenrahmen oder Listen von Data Frames, die zeilenweise verknüpft werden sollen.
Anwendungsbeispiele für rbind() in R
Um R rbind() an einem konkreten Beispiel zu verdeutlichen, erstellen wir zuerst einen Data Frame mit zwei Spalten:
#creating data frame 1
names<-c("Deborah","Tom","Matt","Laura","Rebecca")
status<-c("nurse","doctor","nurse","doctor","nurse")
df1<-data.frame(names, status)
df1rIn der Ausgabe sehen wir:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nursetextDanach definieren wir einen weiteren Datenrahmen mit derselben Spaltenanzahl:
#creating data frame 2
names<-c("Eva","John")
status<-c("doctor","nurse")
df2<-data.frame(names, status)
df2rOutput:
names status
1 Eva doctor
2 John nursetextNun können wir die beiden Data Frames miteinander kombinieren:
#binding rows of df1 and df2
rbind(df1,df2)rDas Ergebnis lautet:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurse
6 Eva doctor
7 John nursetextDatenrahmen unterschiedlicher Länge können mit R rbind() nicht verbunden werden
Im Folgenden demonstrieren wir Ihnen, was passiert, wenn wir Data Frames mit einer unterschiedlichen Anzahl an Spalten kombinieren.
Wir erstellen zuerst wieder einen Datenrahmen mit zwei Spalten:
#creating data frame 1
names<-c("Deborah","Tom","Matt","Laura","Rebecca")
status<-c("nurse","doctor","nurse","doctor","nurse")
df1<-data.frame(names, status)
df1rOutput:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nursetextDanach definieren wir einen Data Frame mit einer zusätzlichen dritten Spalte:
#creating data frame 2
names<-c("Eva","John")
status<-c("doctor","nurse")
age<-c("52","38")
df2<-data.frame(names, status, age)
df2rOutput:
names status age
1 Eva doctor 52
2 John nurse 38textWir verwenden R rbind() und erhalten folgende Fehlermeldung:
rbind(df1,df2)
Error in rbind(deparse.level, ...) :
numbers of columns of arguments do not matchrDer Error zeigt uns, dass wir mit rbind() die beiden Data Frames nicht verbinden können, da deren Spaltenanzahl ungleich ist. Hierfür können wir aber bind_rows() aus dem dplyr-Paket anwenden.
Datenrahmen unterschiedlicher Länge können Sie mit bind_rows() kombinieren
Das obige Beispiel lässt sich bequem mit bind_rows() lösen.
#install dplyr
install.packages('dplyr')
#import libraries
library(dplyr)
#bind rows
bind_rows(df1,df2)rJetzt erscheint die Ausgabe:
names status age
1 Deborah nurse <NA>
2 Tom doctor <NA>
3 Matt nurse <NA>
4 Laura doctor <NA>
5 Rebecca nurse <NA>
6 Eva doctor 52
7 John nurse 38textMit bind_rows() können wir erfolgreich die Data Frames verbinden, und die leeren Felder werden mit <NA> markiert. Die Funktion ist daher eine gute Alternative zu rbind() in R, wenn die Spaltenanzahl der Datenrahmen nicht identisch ist.
- 3x schneller und 60 % günstiger
- Maximale Verfügbarkeit mit > 99.99 %
- Nur bei IONOS: Bis zu 500 GB Speicherplatz inklusive



