So verwenden sie rbindlist in r, um eine datentabelle aus mehreren zu erstellen
Mit der Funktion rbindlist() in R kann eine data.table aus einer Liste vieler data.table- oder data.frame-Objekte erstellt werden.
Diese Funktion verwendet die folgende grundlegende Syntax:
rbindlist(l, use. names ="check", fill= FALSE , idcol= NULL )
Gold:
- l : Liste mit data.table-, data.frame- oder Listenobjekten.
- use.names : TRUE bindet nach Spaltennamen. FALSE bindet nach Position.
- fill : TRUE füllt fehlende Werte mit NA.
- idcol : Erstellt eine Spalte, die angibt, aus welchem Listenelement diese Zeilen stammen.
Das folgende Beispiel zeigt, wie Sie diese Funktion in der Praxis nutzen können.
Beispiel: Verwenden Sie rbindlist, um eine Datentabelle zu erstellen
Angenommen, wir haben die folgende Liste von data.table- und data.frame-Objekten in R:
library (data.table) #create data frames and data tables data1 <- data. table (team=c('A', 'B', 'C'), dots=c(22, 27, 38)) data2 <- data. table (team=c('D', 'E', 'F'), dots=c(22, 14, 20)) data3 <- data. frame (team=c('G', 'H', 'I'), dots=c(11, 15, 18)) #view data frames and data tables print (data1) print (data2) print (data3) team points 1: At 22 2:B27 3: C 38 team points 1:D22 2:E14 3:F20 team points 1 G 11 2:15 a.m. 3 I 18
Wir können die folgende Funktion rbindlist() verwenden, um die Liste der data.table- und data.frame-Objekte in eine einzige data.table zu binden:
#define list of objects to bind together data_list <- list(data1, data2, data3) #bind together list of objects big_data <- rbindlist(data_list) #view result big_data team points 1: At 22 2:B27 3: C 38 4:D22 5:E14 6:F20 7:G 11 8:15 a.m. 9: I 18
Das Ergebnis ist ein data.table-Objekt mit neun Zeilen, bestehend aus Zeilen aus der Liste der von uns bereitgestellten Objekte.
Wir können auch die Funktion class() verwenden, um zu überprüfen, ob das Ergebnis tatsächlich ein data.table-Objekt ist:
#view class of resulting object
class(big_data)
[1] "data.table" "data.frame"
Wir sehen, dass das Ergebnis tatsächlich ein data.table-Objekt ist.
Der Vorteil der Verwendung von rbindlist
Die Alternative zur Verwendung von rbindlist wäre die Verwendung von do.call mit der rbind-Funktion in Basis-R:
#use rbind to bind together list of objects do. call (" rbind ", data_list) team points 1: At 22 2:B27 3: C 38 4:D22 5:E14 6:F20 7:G 11 8:15 a.m. 9: I 18
Dieser Code liefert das gleiche Ergebnis, es stellt sich jedoch heraus, dass rbindlist deutlich schneller ist, insbesondere für extrem große data.table- oder data.frame-Objekte.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in R ausgeführt werden:
So konvertieren Sie eine Tabelle in einen Datenrahmen in R
So fügen Sie Zeilen zu einem Datenrahmen in R hinzu
So teilen Sie einen Datenrahmen in R