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)
df1
RIn der Ausgabe sehen wir:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurse
RDanach 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)
df2
ROutput:
names status
1 doctor Eve
2 nurse John
RNun können wir die beiden Data Frames miteinander kombinieren:
#binding rows of df1 and df2
rbind(df1,df2)
RDas Ergebnis lautet:
names status
1 nurse Deborah
2 doctor Tom
3 nurse Matt
4 doctor Laura
5 nurse Rebecca
6 doctor Eve
7 nurse John
RDatenrahmen 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)
df1
ROutput:
names status
1 nurse Deborah
2 doctor Tom
3 nurse Matt
4 doctor Laura
5 nurse Rebecca
RDanach 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)
df2
ROutput:
names status age
1 doctor Eve 52
2 nurse John 38
RWir verwenden R rbind()
und erhalten folgende Fehlermeldung:
rbind(df1,df2)
Error in rbind(deparse.level, ...) :
numbers of columns of arguments do not match
RDer 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 dplr
-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 nurse Deborah <NA>
2 doctor Tom <NA>
3 nurse Matt <NA>
4 doctor Laura <NA>
5 nurse Rebecca <NA>
6 doctor Eve 52
7 nurse John 38
RMit 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.
- Flexibel: Hosting, das jedem Website-Traffic standhält
- Verlässlich: Inklusive 24/7-Support und persönlicher Beratung
- Sicher: Kostenloses SSL-Zertifikat, DDoS-Schutz und Backups