如何将R中的矩阵行与向量相乘?

当我们将矩阵与R中的向量相乘时,乘法是按列完成的,但是如果我们要对行进行乘法,则可以使用转置函数。我们可以将矩阵的转置与矢量相乘,然后对该乘积进行转置,这将导致行相乘。

示例

考虑下面的矩阵-

> M1<-matrix(1:25,nrow=5)

> M1

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

[1,] 1    6   11   16    21

[2,] 2    7   12   17    22

[3,] 3    8   13   18    23

[4,] 4    9   14   19    24

[5,] 5   10   15   20    25

> V1<-1:5

简单乘法-

> M1*V1

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

[1,] 1    6   11   16   21

[2,] 4   14   24   34   44

[3,] 9   24   39   54   69

[4,] 16  36   56   76   96

[5,] 25  50   75  100  125

按行乘法-

> t(t(M1)*V1)

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

[1,] 1   12   33   64  105

[2,] 2   14   36   68  110

[3,] 3   16   39   72  115

[4,] 4   18   42   76  120

[5,] 5   20   45   80  125

让我们再看一个例子-

> M2<-matrix(sample(1:100,25),nrow=5)

> M2

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

[1,]   72    5   36   11   76

[2,]   61   38   17   73   25

[3,]   96    9   62   79   64

[4,]   77   53   80   78   50

[5,]   81   15   21   43   23

> V2<-sample(1:100,5)

> V2

[1] 28 20 1 68 86

> t(t(M2)*V2)

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

[1,] 2016 100 36 748 6536

[2,] 1708 760 17 4964 2150

[3,] 2688 180 62 5372 5504

[4,] 2156 1060 80 5304 4300

[5,] 2268 300 21 2924 1978

以上是 如何将R中的矩阵行与向量相乘? 的全部内容, 来源链接: utcz.com/z/335225.html

回到顶部