如何在 R 中按顺序将向量值与矩阵列相乘?


为了在 R 中按顺序将向量值与矩阵列相乘,我们可以按照以下步骤操作:

  • 首先,创建一个矩阵。

  • 然后,创建一个向量。

  • 之后,使用 t 函数进行转置并使用乘号 * 将向量值按顺序与矩阵列相乘。

示例

创建数据框

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

M<-matrix(round(rnorm(75),2),ncol=3)
M

输出

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

       [,1]   [,2]   [,3]
[1,]    0.51  2.05  0.30
[2,]   -0.74  0.18 -1.50
[3,]    0.63 -2.03 -1.16
[4,]    0.17  0.33 -0.68
[5,]    0.39 -1.87  0.06
[6,]   -0.69  0.49 -0.54
[7,]   -0.38  1.39 -2.19
[8,]   -0.01 -1.14 -0.47
[9,]   -1.19 -0.26  0.44
[10,]  -0.80 -1.29  1.89
[11,]   1.31  0.00  0.30
[12,]   0.03 -0.92  0.90
[13,]   1.00 -1.04 -0.05
[14,]   0.82 -1.63  2.71
[15,]  -0.89  0.41 -0.46
[16,]   0.19  2.30  0.62
[17,]  -1.17 -0.36  0.23
[18,]   0.15 -0.05  0.04
[19,]   0.83 -0.02  0.30
[20,]   0.99  0.92 -0.09
[21,]  -1.19  0.81  1.44
[22,]   0.79 -0.02  0.45
[23,]   1.51 -1.30  1.41
[24,]   0.73  0.32 -0.92
[25,]   0.98 -0.64 -1.33

创建向量

让我们创建一个如下所示的向量:

V<-1:3
V

输出

[1] 1 2 3

按顺序将向量值与矩阵列相乘

使用 t 函数进行转置并使用乘号 * 将 V 的值按顺序与矩阵 M 的列相乘,如下所示:

M<-matrix(round(rnorm(75),2),ncol=3)
V<-1:3
t(t(M)*V)

输出

      [,1]  [,2]   [,3]
[1,]   0.51  4.10  0.90
[2,]  -0.74  0.36 -4.50
[3,]   0.63 -4.06 -3.48
[4,]   0.17  0.66 -2.04
[5,]   0.39 -3.74  0.18
[6,]  -0.69  0.98 -1.62
[7,]  -0.38  2.78 -6.57
[8,]  -0.01 -2.28 -1.41
[9,]  -1.19 -0.52  1.32
[10,] -0.80 -2.58  5.67
[11,]  1.31  0.00  0.90
[12,]  0.03 -1.84  2.70
[13,]  1.00 -2.08 -0.15
[14,]  0.82 -3.26  8.13
[15,] -0.89  0.82 -1.38
[16,]  0.19  4.60  1.86
[17,] -1.17 -0.72  0.69
[18,]  0.15 -0.10  0.12
[19,]  0.83 -0.04  0.90
[20,]  0.99  1.84 -0.27
[21,] -1.19  1.62  4.32
[22,]  0.79 -0.04  1.35
[23,]  1.51 -2.60  4.23
[24,]  0.73  0.64 -2.76
[25,]  0.98 -1.28 -3.99

更新于: 2021年11月8日

850 次查看

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告