2017-01-12 8 views
-1

私は小さなサンプルデータセットを提供しましたが、実際のデータセットははるかに大きくなっています。行列乗算によるルーピングR

私は2つの行列を扱っており、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_2の各列(各列は「ミニマトリックス」3×あろう)とmat_1の各行を順次(SO各行は1×3「ミニマトリックス」であろう)を乗算したいです私はこのような2x3の行列で終わると思います。

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

私はRがループよりもはっきりした解決策を持っていると感じています。

+1

ありがとうございました!私はそれを行列からデータフレームに変更し、その日の早い時期に完全に忘れてしまった。学んだ教訓。みんなの時間を無駄にして申し訳ありません。 :( – SDes

答えて

1

これは2つの準拠可能な行列の乗算にすぎませんか?これは%*%オペランドを使ってRで行われます。

mat_1 %*% mat_2は、あなたの出力を提供します:

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

私は今、食器棚に行って隠れるつもりです 大きなデータセットをデータフレームとして設定していたために機能していないことがわかりましたが、知識と信頼それが働いたはずであることを知り、それをさらに調べました。 私は完全に虚偽ですが、助けてくれてありがとうございます。 – SDes