如何在 R 中将两个 data.table 对象的对应值相乘?
为了将两个 data.table 对象中的对应值相乘,我们可以按照以下步骤操作:
首先,创建两个 data.table 对象。
然后,使用 mapply 函数将这两个 data.table 对象的对应值相乘。
示例
创建第一个 data.table 对象
让我们创建一个如下所示的 data.table 对象:
library(data.table) x1<-sample(1:50,25) x2<-sample(1:50,25) x3<-sample(1:50,25) DT1<-data.table(x1,x2,x3) DT1
输出
执行上述脚本后,将生成以下输出(由于随机化,此输出会因系统而异):
x1 x2 x3 1: 27 39 33 2: 44 24 36 3: 19 50 40 4: 38 20 42 5: 33 29 26 6: 16 42 41 7: 21 6 22 8: 42 47 5 9: 8 33 34 10: 6 13 24 11: 12 4 29 12: 7 11 48 13: 15 15 27 14: 9 40 9 15: 46 34 17 16: 26 14 21 17: 20 19 1 18: 22 27 13 19: 36 16 23 20: 28 26 6 21: 37 41 46 22: 24 46 2 23: 49 32 10 24: 17 35 19 25: 47 31 3 x1 x2 x3
创建第一个 data.table 对象
让我们创建一个如下所示的 data.table 对象:
y1<-sample(1:50,25) y2<-sample(1:50,25) y3<-sample(1:50,25) DT2<-data.table(y1,y2,y3) DT2
输出
执行上述脚本后,将生成以下输出(由于随机化,此输出会因系统而异):
y1 y2 y3 1: 35 45 30 2: 28 50 10 3: 33 35 8 4: 48 15 26 5: 43 39 37 6: 25 48 32 7: 15 40 44 8: 38 25 12 9: 13 33 16 10: 1 37 14 11: 23 31 13 12: 44 4 46 13: 40 22 15 14: 47 23 31 15: 29 18 48 16: 49 26 17 17: 42 30 2 18: 32 38 4 19: 22 29 28 20: 24 16 41 21: 19 11 42 22: 36 34 9 23: 14 6 1 24: 18 14 23 25: 31 19 11 y1 y2 y3
将两个 data.table 对象的对应值相乘
library(data.table) x1<-sample(1:50,25) x2<-sample(1:50,25) x3<-sample(1:50,25) DT1<-data.table(x1,x2,x3) y1<-sample(1:50,25) y2<-sample(1:50,25) y3<-sample(1:50,25) DT2<-data.table(y1,y2,y3) mapply(`*`,DT1,DT2)
输出
1 x2 x3 [1,] 945 1755 990 [2,] 1232 1200 360 [3,] 627 1750 320 [4,] 1824 300 1092 [5,] 1419 1131 962 [6,] 400 2016 1312 [7,] 315 240 968 [8,] 1596 1175 60 [9,] 104 1089 544 [10,] 6 481 336 [11,] 276 124 377 [12,] 308 44 2208 [13,] 600 330 405 [14,] 423 920 279 [15,] 1334 612 816 [16,] 1274 364 357 [17,] 840 570 2 [18,] 704 1026 52 [19,] 792 464 644 [20,] 672 416 246 [21,] 703 451 1932 [22,] 864 1564 18 [23,] 686 192 10 [24,] 306 490 437 [25,] 1457 589 33
广告