比如说,如果我有一个(lots x 5)矩阵和一个(1 x 5)矩阵,是否有比这更好的方法将它们逐行相乘:
> q
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
> z
[,1] [,2] [,3] [,4] [,5]
[1,] 1 6 11 16 21
[2,] 2 7 12 17 22
[3,] 3 8 13 18 23
[4,] 4 9 14 19 24
[5,] 5 10 15 20 25
> t(apply(z,1,function (x) {x*q}))
[,1] [,2] [,3] [,4] [,5]
[1,] 1 12 33 64 105
[2,] 2 14 36 68 110
[3,] 3 16 39 72 115
[4,] 4 18 42 76 120
[5,] 5 20 45 80 125
这可行但似乎很糟糕。我缺少什么功能吗?