【发布时间】:2017-04-06 18:30:14
【问题描述】:
我有一个带有向量的 data.table 或实际上在列单元格内列出了向量,即:
testDATA <- data.table('COLUMN_1' = list(1:4, 11:14, 21:24),
'COLUMN_ABC' = list(5:8, 25:28, 15:18),
'COLUMN1342' = list(2:5, 32:35, 22:25))
此外,我还有一个向量,其中包含我想要求和的向量元素的列名称,即:
columnsToSum <- c('COLUMN_ABC', 'COLUMN1342')
如何将列添加到 data.table 中,它将对 columnsToSum 中定义的列中的向量元素求和,以便在第一行中我将拥有向量 c(6,8,10,12) ?我知道我可以像这样对两个向量求和:
testDATA[, sumCol := list(Map(function(x,y) x + y, get('COLUMN_ABC'), get('COLUMN1342')))]
虽然问题是我有所有列,我应该在 columnsToSum 向量中求和。有什么想法吗?
【问题讨论】:
标签: r list vector data.table