如何在 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

更新時間:12-8-2020

648 人次瀏覽

開啟你的 職業

完成課程獲得認證

開始
廣告
© . All rights reserved.