2017-01-12 308 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