R,data.table:对所有名称存储在向量中的列求和 [英] R, data.table: Sum all columns whose names are stored in a vector

查看:165
本文介绍了R,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 的唯一值。

I would like to sum all variables which names are stored in the vector varsToSum by unique values of group.

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

对于上述 d varsToSum ,预期结果是

For the above d and varsToSum, the expected outcome is

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

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






相关帖子:


Related posts:

如何从向量字符串转换为引号/名称的向量?

推荐答案

d[, lapply(.SD, sum), by = group, .SDcols = varsToSum]

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

这篇关于R,data.table:对所有名称存储在向量中的列求和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆