Zusammenfassung mehrere Spalten mit Daten.Tabelle

Ich versuche, die Daten verwenden.Tabelle zur Beschleunigung der Verarbeitung großer Datenmengen.Rahmen (300k x 60) aus mehreren kleineren zusammengeführten Daten.frames. Ich bin neue zu Daten.Tabelle. Der code so weit ist wie folgt

library(data.table)
a = data.table(index=1:5,a=rnorm(5,10),b=rnorm(5,10),z=rnorm(5,10))
b = data.table(index=6:10,a=rnorm(5,10),b=rnorm(5,10),c=rnorm(5,10),d=rnorm(5,10))
dt = merge(a,b,by=intersect(names(a),names(b)),all=T)
dt$category = sample(letters[1:3],10,replace=T)

und ich fragte mich, ob es einen effizienteren Weg, als die folgende zusammenfassen der Daten.

summ = dt[i=T,j=list(a=sum(a,na.rm=T),b=sum(b,na.rm=T),c=sum(c,na.rm=T),
                     d=sum(d,na.rm=T),z=sum(z,na.rm=T)),by=category]

Ich nicht wirklich wollen, geben Sie alle 50 Spalte Berechnungen von hand und eine eval(paste(...)) scheint irgendwie klobig.

Ich hatte einen Blick auf das Beispiel unten, aber es scheint ein bisschen kompliziert für meine Bedürfnisse. Dank

wie zum zusammenfassen von Daten.Tabelle über mehrere Spalten

Schreibe einen Kommentar