R中的准元素矩阵乘法

quasi element wise matrix multiplication in R

R 中是否有内置函数或运算符来执行以下操作:

a_
     [,1] [,2]
[1,]    1    4
[2,]    2    3
[3,]    3    2
b_
     [,1]
[1,]    2
[2,]   -1

columnwise( a_, b_ )
     [,1] [,2]
[1,]    2   -4
[2,]    4   -3
[3,]    6   -2

一种选择是使长度相同,然后进行乘法

a_ *  b_[,1][col(a_)]

sweep

sweep(a_,  2, b_, `*`)

您可以使用 diag 中的矢量形式将 b_ 转换为适当的变换矩阵:

a_ %*% diag(c(b_))
     [,1] [,2]
[1,]    2   -4
[2,]    4   -3
[3,]    6   -2