r对矩阵加权

问题描述 投票:0回答:2

我有一个nx5矩阵。前6行如下

  x1    x2   x3  x4  x5
   1    30    3  43   0
   3    40    2  35   0
   3    50    7  72   0
   4    40   58  63  10
   1    20   19  61  10
   4    20    5  49   0

而且我还有代表权重的nx1矩阵列。

 w
 1.080042
 1.083287
 1.141108
 1.191246
 1.117395
 1.081123

我的目标是使用这些权重对初始nx5矩阵进行权重。我试过了a%*%w,但这导致5x1矩阵。这不是我想要的。我的问题是如何生成加权nx5矩阵?谢谢。

r matrix-multiplication weighted
2个回答
0
投票

[如果您只是将每列乘以向量,则只需

mt * vc

[mt是矩阵的名称,vc是向量的名称,例如[]。

mt <- (diag(5)+0.1)
vc <- c(1:5)
mt * vc

礼物

     [,1] [,2] [,3] [,4] [,5]
[1,]  1.1  0.1  0.1  0.1  0.1
[2,]  0.2  2.2  0.2  0.2  0.2
[3,]  0.3  0.3  3.3  0.3  0.3
[4,]  0.4  0.4  0.4  4.4  0.4
[5,]  0.5  0.5  0.5  0.5  5.5

0
投票

如果要将第一个数据集行的值与第二个数据集的对应值相乘

© www.soinside.com 2019 - 2024. All rights reserved.