如何倍增,例如数据表中有三个列表?两个列表很简单:
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,但它没有帮助。
答案 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)]