如何将 data.table 对象中的相应行值与 R 中的单行 data.table 对象相乘?
要将data.table具有多行的对象中的行值与data.tableR 中的单行对象相乘,我们可以按照以下步骤操作 -
首先,创建一个data.table多行data.table对象和一个单行对象。
然后,使用 mapply 函数将这些对象中的行值相乘。
示例
创建第一个data.table对象
让我们创建一个data.table对象,如下所示 -
library(data.table)输出结果x1<-sample(1:10,25,replace=TRUE)
x2<-sample(1:10,25,replace=TRUE)
DT1<-data.table(x1,x2)
DT1
执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-
x1 x21: 8 1
2: 4 2
3: 8 5
4: 4 1
5: 10 2
6: 5 10
7: 9 3
8: 6 5
9: 1 6
10: 7 1
11: 9 7
12: 8 9
13: 4 10
14: 10 6
15: 1 4
16: 8 1
17: 10 4
18: 7 1
19: 3 1
20: 3 7
21: 2 8
22: 4 9
23: 5 8
24: 4 7
25: 3 1
x1 x2
创建第二个data.table对象
让我们创建一个data.table对象,如下所示 -
DT2<-data.table(y1=5,y2=0)输出结果DT2
y1 y21: 5 0
将两个data.table对象的值相乘
使用 mapply 函数将data.table具有多行的对象 DT1 中的行值与单行data.table对象 DT2相乘-
library(data.table)输出结果x1<-sample(1:10,25,replace=TRUE)
x2<-sample(1:10,25,replace=TRUE)
DT1<-data.table(x1,x2)
DT2<-data.table(y1=5,y2=0)
mapply(`*`,DT1,DT2)
x1 x2[1,] 40 0
[2,] 20 0
[3,] 40 0
[4,] 20 0
[5,] 50 0
[6,] 25 0
[7,] 45 0
[8,] 30 0
[9,] 5 0
[10,] 35 0
[11,] 45 0
[12,] 40 0
[13,] 20 0
[14,] 50 0
[15,] 5 0
[16,] 40 0
[17,] 50 0
[18,] 35 0
[19,] 15 0
[20,] 15 0
[21,] 10 0
[22,] 20 0
[23,] 25 0
[24,] 20 0
[25,] 15 0
以上是 如何将 data.table 对象中的相应行值与 R 中的单行 data.table 对象相乘? 的全部内容, 来源链接: utcz.com/z/331666.html