2016-06-21 21 views
2

我有一個NxK矩陣x和相同維度的另一個矩陣,其中包含每個K功能和每個N組的係數。我想要一個K向量,其中i-項是i-第x行中的第012行與第i行係數矩陣的點積。例如,如果x是:什麼是在R中的一對矩陣之間執行行方向點積的好方法?

x = matrix(rep(1:3,each=2),ncol=2,byrow=TRUE) 

和係數_矩陣爲:

coeff = matrix(c(.5,1,0),nrow=3,ncol=2) 

結果應該是載體(1,4,0)由於(1,1)(.5,.5)點積1,的(2,2)點積和(1,1)4,並且(3,3)(0,0)的點積是0。我可以想象這樣做,通過在每個迭代是點積的索引上進行索引,但是我想知道是否有更好的方式使用像掃描或朋友這樣的內置函數..

回答

4

將兩個矩陣使用*然後做rowSums

rowSums(x * coeff) 
[1] 1 4 0 
+0

這麼簡單!謝謝 –

相關問題