如何在 R 中对两个数据帧的对应值进行相乘?


要在 R 中对来自两个数据帧的对应值进行乘法,我们可以遵循以下步骤:

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

  • 然后,使用 mapply 函数来对两个数据帧中对应值进行相乘。

范例

创建第一个数据帧

让我们创建一个如下所示的数据帧:-

df1<-data.frame(x1=rpois(25,2),x2=rpois(25,2))
df1

输出

执行时,上述脚本将生成如下输出(由于随机性的原因,此输出在你的系统上可能会不同)-}

  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

更新于: 2021-11-12

2K+ 阅读量

开启你的 事业

完成课程获得认证

开始学习
广告