在R中乘以两个矩阵

rob*_*del 2 r matrix

我有2个矩阵.

第一个: [1,2,3]

第二个:

[3,1,2
 2,1,3
 3,2,1]
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方法来增加它们.

结果应该是: [11, 13, 10]

在R中,mat1%*%mat2不起作用.

Rei*_*son 12

您需要第二个矩阵的转置才能获得您想要的结果:

> 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
Run Code Online (Sandbox Code Playgroud)

或者可能更快(参见?crossprod)真正的问题是否更大:

> tcrossprod(v1, v2)
     [,1] [,2] [,3]
[1,]   11   13   10
Run Code Online (Sandbox Code Playgroud)