在数据表中多了两个列表

时间:2018-01-31 20:50:50

标签: r dictionary data.table

如何倍增,例如数据表中有三个列表?两个列表很简单:

DT <- data.table(a = list(2,2,c(3,3),c(2,2)), b = list(2,2,c(3,3),c(2,2)),  d = list(2,2,c(3,3),c(2,2)) ) 
DT[, e := Map("*", a , b)]

我的预期结果是

DT <- data.table(a = list(2,2,c(3,3),c(2,2)), b = list(2,2,c(3,3),c(2,2)),  d = list(2,2,c(3,3),c(2,2)), e = list(8,8,c(27,27), c(8,8)) )

解决方案(DT[, e := Map("*", a , b, c )])无效,我也尝试使用Reduce代替Map,但它没有帮助。

1 个答案:

答案 0 :(得分:0)

*是二元运算符。怎么样:

DT[, e := Map('*',DT$a,DT$b)]
DT[, e := Map('*',DT$d,DT$e)]

DT[, e := Map('*',Map('*',DT$a,DT$b),DT$d)]