代码之家  ›  专栏  ›  技术社区  ›  Remi.b

r,data.table:对名称存储在向量中的所有列求和

  •  2
  • Remi.b  · 技术社区  · 6 年前

    从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 静脉曲张 ,预期结果是

    d[,list(a = sum(a), b = sum(b)),list(group)]
    
       group a  b
        1: 1 3 23
        2: 2 7 27
    

    相关职位:

    1 回复  |  直到 6 年前
        1
  •  5
  •   Michael Ohlrogge    6 年前
    d[, lapply(.SD, sum), by = group, .SDcols = varsToSum]
    
       group a  b
    1:     1 3 23
    2:     2 7 27