r - 如何在R中合并两个大小相同的矩阵?
问题描述
我有两个大小相同的矩阵。我想合并它们。
输入矩阵 A:
v1 v2 v3 v4 v5 v6
1 0 5 8 1 0 0
2 5 0 2 4 0 0
3 8 2 0 0 0 0
4 0 0 0 0 0 0
5 0 0 0 0 0 0
6 0 0 0 0 0 0
输入矩阵 B:
v1 v2 v3 v4 v5 v6
1 0 0 0 1 2 0
2 0 0 0 4 3 0
3 0 0 0 2 0 0
4 1 4 2 0 0 0
5 2 3 0 0 0 0
6 0 0 0 0 0 0
结果应该是这样的:
v1 v2 v3 v4 v5 v6
1 0 5 8 1 2 0
2 5 0 2 4 3 0
3 8 2 0 2 0 0
4 1 4 2 0 0 0
5 2 3 0 0 0 0
6 0 0 0 0 0 0
我发现很多关于合并两个不同大小的矩阵的问题,但很少有关于相同大小矩阵的问题。矩阵是对称的,对角线上为 0。有谁知道如何解决这个问题?非常感谢!
解决方案
您可以获取矩阵中的 0 索引A
并替换 中的相应元素B
。
inds <- A == 0
A[inds] <- B[inds]
A
# v1 v2 v3 v4 v5
#1 0 5 8 1 2
#2 5 0 2 4 3
#3 8 2 0 2 5
#4 1 4 2 0 3
#5 2 3 5 3 0
推荐阅读
- generics - 如何使用比总泛型类型参数更少的显式泛型类型参数
- database - 关于 MongoDB 数据建模与一对多关系的问题
- python - 从另一个模块调用时,多处理模块未找到错误
- gtsummary - 在 gtsummary 中,有没有办法更改用于值的文本(类别值,而不是类别的标签)?
- parsing-error - 解析错误:谷歌搜索控制台中缺少“,”或“}”
- python-3.x - Python 在 3d 世界中生成等距块
- sql - 使用反向行值 SQL 创建视图
- c# - C# Outlook 阅读主题
- ruby-on-rails - ActionCable 连接
- python - 将循环行中的数据存储在相应的列中