gpt4 book ai didi

r - r 中的矩阵乘法

转载 作者:行者123 更新时间:2023-12-01 22:32:29 25 4
gpt4 key购买 nike

我正在尝试将矩阵的每一行乘以另一个矩阵的列。例如:

mat1 <- matrix(rnorm(10), nrow=5, ncol=2)
mat2 <- matrix(rnorm(5), nrow=5)

我想将 mat1 的每一行乘以 mat2。所需的输出形状是 5*2。

最佳答案

您可以使用 apply()ma​​t1 的每一列乘以 ma​​t2。 ("*" 将执行两个等长向量的 R 典型向量化逐元素乘法)。

apply(mat1, 2, "*", mat2)
[,1] [,2]
[1,] 0.1785476 0.4175557
[2,] 0.2644247 -0.3745997
[3,] -0.5328542 0.8945527
[4,] -2.7351502 -0.7715341
[5,] -0.9719129 -0.1346929

或者更好的是,将 mat1 转换为向量以利用 R 的回收规则:

mat2 <- matrix(1:10, ncol=2)
mat1 <- matrix(1:5, ncol=1)

as.vector(mat1)*mat2
[,1] [,2]
[1,] 1 6
[2,] 4 14
[3,] 9 24
[4,] 16 36
[5,] 25 50

关于r - r 中的矩阵乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9728721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com