我想将矩阵的行乘以向量的每一行(元素),而不是整个向量(正如已经发布的另一个问题所讨论的那样。)
例如,我想使用这两个矩阵(或者 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/