R通过向量的行乘以矩阵的行的最快方法

时间:2014-03-30 00:43:45

标签: r vector matrix rows

我希望将矩阵的行乘以向量的EACH行(元素),而不是整个向量(正如已发布的另一个问题所述。)

例如,我想使用这两个矩阵(或者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

但这太慢了。

1 个答案:

答案 0 :(得分:4)

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