I tienen la siguiente muestra de data.table
:agregación de múltiples columnas en data.table
dtb <- data.table(a=sample(1:100,100), b=sample(1:100,100), id=rep(1:10,10))
me gustaría agregar todas las columnas (A y B, a pesar de que deben mantenerse separados) por id usando colSums
, por ejemplo . ¿Cuál es la forma correcta de hacer esto? El siguiente no funciona:
dtb[,colSums, by="id"]
Esto es sólo una muestra y mi mesa tiene muchas columnas, así que quiero evitar especificar todos ellos en el nombre de la función
+1 Estos, tienes toda la razón, esta es definitivamente la mejor manera. Siempre pienso que debería tener todo en formato largo, pero con bastante frecuencia, como en este caso, hacer los cálculos es más eficiente. Debes marcar el tuyo como la respuesta correcta. –
ok suena bien, cambiaré esto a la respuesta correcta. – Alex
+1 Por cierto, esta sintaxis se ha optimizado en la última v1.8.2. Solía haber una penalización de velocidad al usar 'lapply' en' j' así, pero ya no. Se han realizado revisiones a los puntos wiki 'data.table', y al punto 5 son necesarios. –