【发布时间】:2018-04-04 19:23:14
【问题描述】:
假设我有一个2x2 矩阵,我想将每一行与2x1 向量中的同一行元素相乘。我怎样才能在 R 中做到这一点?
示例:
w1 <- matrix(c(0,1, 2, 3), ncol = 2)
v1 <- matrix(c(0, 6), ncol = 1)
乘法
[ (0 * 0), (2 * 0) ] = [0, 0]
[ (1 * 6), (3 * 6) ] = [6, 18]
期望的输出
[,1] [,2]
[1,] 0 0
[2,] 6 18
【问题讨论】:
-
您也可以像这样使用
sweep:sweep(w1, MARGIN=1, STATS=v1, FUN="*"),但保持 V1 作为向量并使用逐元素乘法是可行的方法。