我提供了一个小的示例数据集,但我的真实数据集要大得多。
我正在处理两个矩阵,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会有一个更聪明的解决方案而不是循环。
答案 0 :(得分:1)
这只是两个适形矩阵的乘法吗?这是在R中使用%*%操作数完成的。
mat_1 %*% mat_2
提供您的输出:
> mat_1%*%mat_2
[,1] [,2] [,3]
[1,] 90 119 174
[2,] 80 92 121