在R中将两个矩阵相乘 [英] Multiplying two matrices in R
本文介绍了在R中将两个矩阵相乘的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有2个矩阵.
第一个:
[1,2,3]
和第二个:
[3,1,2
2,1,3
3,2,1]
我正在寻找一种将它们相乘的方法.
I'm looking for a way to multiply them.
结果应该是:[11, 13, 10]
在R中,mat1%*%mat2
不起作用.
推荐答案
您需要对第二个矩阵进行转置才能获得所需的结果:
You need the transpose of the second matrix to get the result you wanted:
> v1 <- c(1,2,3)
> v2 <- matrix(c(3,1,2,2,1,3,3,2,1), ncol = 3, byrow = TRUE)
> v1 %*% t(v2)
[,1] [,2] [,3]
[1,] 11 13 10
或者如果实际问题更大,则可能更快(请参阅?crossprod
):
Or potentially quicker (see ?crossprod
) if the real problem is larger:
> tcrossprod(v1, v2)
[,1] [,2] [,3]
[1,] 11 13 10
这篇关于在R中将两个矩阵相乘的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文