R data.table:单独列中向量的总和
我有一个带有向量的data.table或单元格中带有向量的实际列表,即:R data.table:单独列中向量的总和,r,list,vector,data.table,R,List,Vector,Data.table,我有一个带有向量的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)) 虽然问题是我有所有的列,我应该在column
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向量中求和。有什么想法吗?我想这应该适合你
testDATA[, sumCol := Reduce(function(a,b) Map(`+`,a,b), .SD),
.SDcols=columnsToSum]
我们使用.SD
从数据表中获取一组列,然后使用Reduce()
顺序相加,并使用Map()
分别相加每一行。它将处理2个以上的列
columnsToSum <- names(testDATA)
testDATA[, sumCol := Reduce(function(a,b) Map(`+`,a,b), .SD), .SDcols=columnsToSum]
testDATA
# COLUMN_1 COLUMN_ABC COLUMN1342 sumCol
# 1: 1,2,3,4 5,6,7,8 2,3,4,5 23,31,39,47
# 2: 11,12,13,14 25,26,27,28 32,33,34,35 193,201,209,217
# 3: 21,22,23,24 15,16,17,18 22,23,24,25 153,161,169,177
columnsToSum我认为这应该适合你
testDATA[, sumCol := Reduce(function(a,b) Map(`+`,a,b), .SD),
.SDcols=columnsToSum]
我们使用.SD
从数据表中获取一组列,然后使用Reduce()
顺序相加,并使用Map()
分别相加每一行。它将处理2个以上的列
columnsToSum <- names(testDATA)
testDATA[, sumCol := Reduce(function(a,b) Map(`+`,a,b), .SD), .SDcols=columnsToSum]
testDATA
# COLUMN_1 COLUMN_ABC COLUMN1342 sumCol
# 1: 1,2,3,4 5,6,7,8 2,3,4,5 23,31,39,47
# 2: 11,12,13,14 25,26,27,28 32,33,34,35 193,201,209,217
# 3: 21,22,23,24 15,16,17,18 22,23,24,25 153,161,169,177
columnsToSum谢谢!你能解释一下为什么inherits=TRUE在这里是Nessery吗?它与get()
和mget()
在搜索变量时有不同的行为。非常感谢!如果我有两个向量columnsToSum1和columnsToSum2,我想把它们乘成一个新的列,你能给我一个线索吗(例如,columnsToSum1的第一列*columnsToSum2的第一列+第二列等?我应该问新问题吗?这非常不同。我会问一个新问题。确保它可以独立存在。谢谢!你能解释一下为什么这里需要inherits=TRUE吗?它与。get()
和mget()相关)
在搜索变量时有不同的行为。非常感谢!如果我有两个向量columnsToSum1和columnsToSum2,并且我想将它们作为一个新列相乘,你能给我一个提示吗(例如,第一列来自列STOSUM1*第一列来自列STOSUM2+第二列等?我应该问新问题吗?这非常不同。我会问一个新问题。确保它能够独立存在。