2014-03-30 130 views
4

我想乘以一個向量的每行(元素)矩陣的行,而不是整個向量(因爲另一個問題已經發布談論。)。R最快的方法乘以一個向量的行矩陣的行

例如,我想用這些兩個矩陣(或OO是一個向量,因爲它是一列)

oo=matrix(1:3,3,1) 
oop=matrix(1:9,3,3,byrow=TRUE) 

輸出

1 2 3 
8 10 12 
21 24 27 

我需要非常有效地做到這一點,因爲我需要這樣做海量數據數千次。我用

diag(as.vector(oo))%*%oop 

但這太慢了。

回答

4
R>oop*drop(oo) 
    [,1] [,2] [,3] 
[1,] 1 2 3 
[2,] 8 10 12 
[3,] 21 24 27