2017-01-12 255 views
-1

我已经提供了一个小例子数据集,但是我的真实数据集要大得多。循环矩阵乘法R

我正在处理两个矩阵,并且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(所以各行会是一个1×3“小矩阵”)与在mat_2每列(每列将是3×1“小矩阵”),所以我结束了这样的的2x3矩阵:

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

我觉得R将有超过一环一聪明地解决了这个。

+1

谢谢!我在一天早些时候将它从矩阵改为数据框,并完全忘记了。学过的知识。对不起浪费大家时间。 :( – SDes

回答

1

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

mat_1 %*% mat_2让你的输出:

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

我现在要走了,现在隐藏在橱柜里 我刚刚意识到它不工作,因为我把我的大数据集设置为数据框,但我应该有知识和信心要知道应该有效,并进一步研究它。 我完全勉强,但感谢您的帮助。 – SDes