【问题标题】:R, data.table: Sum all columns whose names are stored in a vectorR,data.table:对名称存储在向量中的所有列求和
【发布时间】:2018-11-15 12:59:24
【问题描述】:

来自data.table d 例如

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

我想通过 group 的唯一值将名称存储在向量 varsToSum 中的所有变量相加。

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

对于上述dvarsToSum,预期的结果是

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

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

相关帖子:

【问题讨论】:

    标签: r data.table evaluation expression-evaluation


    【解决方案1】:
    d[, lapply(.SD, sum), by = group, .SDcols = varsToSum]
    
       group a  b
    1:     1 3 23
    2:     2 7 27
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-19
      • 2016-11-03
      • 2021-08-09
      • 2020-12-20
      • 2021-12-06
      相关资源
      最近更新 更多