【问题标题】:R fastest way to multiply rows of a matrix by rows of a vectorR将矩阵行乘以向量行的最快方法
【发布时间】:2014-05-09 10:51:56
【问题描述】:

我想将矩阵的行乘以向量的每一行(元素),而不是整个向量(正如已经发布的另一个问题所讨论的那样。)

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

但这太慢了。

【问题讨论】:

    标签: r vector matrix rows


    【解决方案1】:
    R>oop*drop(oo)
         [,1] [,2] [,3]
    [1,]    1    2    3
    [2,]    8   10   12
    [3,]   21   24   27
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-17
      • 1970-01-01
      相关资源
      最近更新 更多