通过矩阵乘法R循环

时间:2017-01-12 19:14:28

标签: r loops matrix

我提供了一个小的示例数据集,但我的真实数据集要大得多。

我正在处理两个矩阵,mat_1中的列数总是等于mat_2中的行数。

mat_1 <- matrix(c(5,6,11,1,7,8), nrow = 2, ncol=3)
mat_2 <- matrix(c(1,2,9,8,4,5,11,7,6), nrow = 3, ncol=3)

我想在mat_1中按顺序乘以每一行(因此每行将是1x3'迷你矩阵'),mat_2中的每一列(每列都是3x1'迷你矩阵'),所以我最终使用像这样的2x3矩阵:

       [1]  [2]  [3]
 [1]   90   119  174
 [2]   80   92   121

我觉得R会有一个更聪明的解决方案而不是循环。

1 个答案:

答案 0 :(得分:1)

这只是两个适形矩阵的乘法吗?这是在R中使用%*%操作数完成的。

mat_1 %*% mat_2提供您的输出:

> mat_1%*%mat_2
     [,1] [,2] [,3]
[1,]   90  119  174
[2,]   80   92  121