R, data.table: сумма всех столбцов, имена которых хранятся в векторе - PullRequest
0 голосов
/ 06 июня 2018

Из таблицы data.table d, такой как, например,

require(data.table)
d = data.table(a = 1:4, b = 11:14, c = 21:24, group = c(1,1,2,2))

Я хотел бы суммировать все переменные, имена которых хранятся в векторе varsToSum, с уникальными значениями group.

varsToSum = c("a", "b")

Для вышеупомянутых d и varsToSum ожидаемый результат составляет

d[,list(a = sum(a), b = sum(b)),list(group)]

   group a  b
    1: 1 3 23
    2: 2 7 27

Похожие сообщения:

1 Ответ

0 голосов
/ 06 июня 2018
d[, lapply(.SD, sum), by = group, .SDcols = varsToSum]

   group a  b
1:     1 3 23
2:     2 7 27
...