【发布时间】:2018-06-08 00:02:13
【问题描述】:
我正在寻找一种方法,将 data.table 的几列乘以同一 DT 中的其他几列。另一篇文章侧重于在同一 DT Multiply many columns by a specific other column in R with data.table? 中将许多列乘以 特定 列的方法。我的问题扩大了这个先前的问题。
从此 DT 开始:
DT <- data.table(x1 = 1:5L, y1 = 6:10L, x2 = 11:15L, y2 = 16:20L)
x1 y1 x2 y2
1: 1 6 11 16
2: 2 7 12 17
3: 3 8 13 18
4: 4 9 14 19
5: 5 10 15 20
我想将z1 = x1 * y1和z2 = x2 * y2相乘得到
x1 y1 x2 y2 z1 z2
1: 1 6 11 16 6 176
2: 2 7 12 17 14 204
3: 3 8 13 18 24 234
4: 4 9 14 19 36 266
5: 5 10 15 20 50 300
这是构建所需DT的蛮力方法:
DT2[, ':='(z1 = x1 * y1, z2 = x2 * y2]
当然必须有一种优雅的方式来做到这一点。
【问题讨论】:
标签: r data.table multiple-columns calculated-columns