如何在R中将矩阵的对应行值与单行矩阵相乘?


为了在R中将具有多行的矩阵的行值与单行矩阵相乘,我们可以按照以下步骤进行:

  • 首先,创建一个具有多行的矩阵和一个单行矩阵。

  • 然后,使用mapply函数将这些矩阵中的行值相乘。

示例

创建第一个矩阵

让我们创建一个如下所示的矩阵:

Open Compiler
M1<-matrix(rpois(100,10),ncol=4) M1

输出

执行上述脚本后,将生成以下输出(由于随机化,此输出会在您的系统上有所不同):

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

创建第二个矩阵

让我们创建一个如下所示的矩阵:

Open Compiler
M2<-matrix(c(1,0,2,5),nrow=1) M2

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

输出

执行上述脚本后,将生成以下输出(由于随机化,此输出会在您的系统上有所不同):

     [,1] [,2] [,3] [,4]
[1,]   1    0   2    5

将两个矩阵的值相乘

使用mapply函数将具有多行矩阵M1的行值与单行矩阵M2相乘:

Open Compiler
M1<-matrix(rpois(100,10),ncol=4) M2<-matrix(c(1,0,2,5),nrow=1) mapply(`*`,M1,M2)

输出

 [1] 11  0 36 55  9  0 14 35 10  0 24 40 14  0 10 55 11  0 26 40  8  0 20 45 12
[26]  0 22 60  9  0 18 75 10  0 16 70  9  0 16 50 11  0 30 80 16  0  4 70 11  0
[51] 22 60 10  0  8 35 10  0 28 40  8  0 18 75  8  0 26 40  9  0 24 20 14  0 10
[76] 30  6  0 24 75  8  0 18 60 12  0 20 60  5  0 24 40 16  0 24 35 16  0 24 45

更新于:2021年11月10日

401 次查看

启动您的职业生涯

完成课程获得认证

开始
广告