如何将R中两个数据帧的相应值相乘?

要将 R 中两个数据帧的相应值相乘,我们可以按照以下步骤操作 -

  • 首先,创建两个数据框。

  • 然后,使用 mapply 函数将这两个数据框中的相应值相乘。

示例

创建第一个数据框

让我们创建一个数据框,如下所示 -

df1<-data.frame(x1=rpois(25,2),x2=rpois(25,2))
df1
输出结果

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

  x1 x2
1  2 4
2  0 2
3  0 2
4  1 3
5  0 2
6  2 0
7  2 1
8  1 1
9  2 3
10 2 3
11 2 1
12 2 0
13 2 4
14 1 3
15 0 3
16 1 2
17 0 2
18 2 1
19 2 1
20 5 2
21 1 2
22 2 2
23 3 5
24 2 1
25 2 2

创建第二个数据框

让我们创建一个数据框,如下所示 -

df2<-data.frame(y1=rpois(25,2),y2=rpois(25,2))
df2
输出结果
  y1 y2
1  4 0
2  2 1
3  1 4
4  1 1
5  4 1
6  0 2
7  1 4
8  3 3
9  0 5
10 3 3
11 0 2
12 2 3
13 1 2
14 0 0
15 5 2
16 1 0
17 1 2
18 1 2
19 1 3
20 0 1
21 1 3
22 1 1
23 5 5
24 7 1
25 2 4

将两个数据框中的相应值相乘

使用 mapply 函数将数据帧 df1 和 df2 中的相应值相乘 -

df1<-data.frame(x1=rpois(25,2),x2=rpois(25,2))
df2<-data.frame(y1=rpois(25,2),y2=rpois(25,2))
mapply(`*`,df1,df2)
输出结果
      x1 x2
[1,]   4  3
[2,]  10  6
[3,]   2  4
[4,]   0  0
[5,]   3  0
[6,]   0 12
[7,]   0  2
[8,]   0  4
[9,]   0  0
[10,]  0  0
[11,]  2  0
[12,] 12  0
[13,]  9  0
[14,]  0  0
[15,]  3 12
[16,]  8  3
[17,]  1  4
[18,]  9 12
[19,]  4  0
[20,]  0  3
[21,]  4  4
[22,]  0 25
[23,]  8  2
[24,]  0  0
[25,]  9  7

猜你喜欢