r - r 加权矩阵
问题描述
我有一个 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 矩阵?谢谢。
解决方案
如果您只是将每列乘以向量,那么只需
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
如果您的权重在单列矩阵中,则首先将其转换为向量as.vector()
推荐阅读
- python - BeautifulSoup:获取文本,创建字典
- c++ - VS107 中 OpenMP C++ 代码的性能和分析
- java - Ubuntu linux 上的 Java 崩溃
- javascript - Tabulator 3.5 中手动触发 ajaxLoader
- elixir - Elixir:使用 & 运算符从命名函数中获取匿名函数有什么好处
- python - 如何在 Pandas / Python 中将 (x, y, k) 转换为以 x 为行、y 为列的 k 矩阵?
- css - flex shrink 0 导致滚动条消失,它忽略了火狐边缘中的溢出自动,即,但在 chrome 中却没有,为什么
- python - 无法弄清楚如何正确输出我的数据
- c++ - 无法确定 Opengl 绘图的平面方向
- c# - 如何在 OwinMiddleware 和 .Net MVC 5 中使用 IOwinContext 删除 cookie?