2014-03-30 90 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