我希望将矩阵的行乘以向量的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
但这太慢了。
答案 0 :(得分:4)
R>oop*drop(oo)
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 8 10 12
[3,] 21 24 27