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

标签 r vector matrix rows

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

例如,我想使用这两个矩阵(或者 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>oop*drop(oo)
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    8   10   12
[3,]   21   24   27

关于R将矩阵行乘以向量行的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22738884/

相关文章:

r - 函数调用的参数的基本 R 替换名称

r - 带特殊字符的grep

r - 矩阵元素的分块总和

matlab - 如何在 MATLAB 中从文本文件创建矩阵?

r - 将原始数据帧转换为可行的时间序列

r - dplyr-0.6.0 编程取消引用

Matlab:如何根据索引向量将1填充到零向量?

c++ - vector 中的删除函数不会删除指针?

c++ - 使用 vector 创建二维数组

algorithm - Haskell 中惰性求值和严格求值的比较