Wenn Sie eine Liste von data.frame
s in R haben und diese zeilenweise zu einem einzigen data.frame
kombinieren möchten, gibt es verschiedene Möglichkeiten, dies zu tun.
- Mit Basal-R und
do.call()
:
Die Funktiondo.call()
ermöglicht es, eine Funktion auf eine Liste von Argumenten anzuwenden. Im Falle vondata.frame
s können wirrbind()
verwenden:
liste_von_dfs <- list(
data.frame(A = 1:3, B = 4:6),
data.frame(A = 4:6, B = 1:3),
data.frame(A = 7:9, B = 7:9)
)
kombiniert <- do.call("rbind", liste_von_dfs)
- Mit dem
dplyr
-Paket:
Dasdplyr
-Paket bietet die Funktionbind_rows()
, die speziell für diesen Zweck entwickelt wurde:
library(dplyr)
kombiniert_dplyr <- bind_rows(liste_von_dfs)
- Mit dem
data.table
-Paket:
Wenn Sie mit demdata.table
-Paket vertraut sind, können Sie die Funktionrbindlist()
verwenden:
library(data.table)
kombiniert_dt <- rbindlist(liste_von_dfs)
Alle oben genannten Methoden liefern einen data.frame
(oder data.table
im letzten Fall), der alle Zeilen aus allen data.frame
s in der Liste enthält.
Wählen Sie die Methode, die am besten zu Ihren Anforderungen und Vorlieben passt. Wenn Sie mit großen Datenmengen arbeiten, kann data.table
oft schneller sein, während dplyr
für seine Lesbarkeit und Benutzerfreundlichkeit geschätzt wird.