You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言如何合并两个由边列表生成的邻接矩阵

邻接矩阵合并实现方法

你的合并需求本质是对两个维度、节点顺序完全一致的0-1邻接矩阵做按位逻辑或运算:对应位置只要任意一个矩阵取值为1(代表存在边),新矩阵该位置就取1;只有两个矩阵该位置都为0(代表都不存在边),新矩阵才取0。逐位核对你给出的样例,这个规则完全匹配你要的mat_new输出结果。

R语言实现代码

从你贴的矩阵打印格式判断你是在R环境下操作,直接用下面的代码即可得到目标结果:

# 方法1:逻辑或运算后转整数,写法最简洁
mat_new <- (mat1 | mat2) * 1L

# 方法2:求和后截断大于1的值,和方法1效果完全等价
# mat_new <- pmin(mat1 + mat2, 1)

运行后输出的矩阵和你给出的预期结果完全一致:

A B C D
[A,] 0 0 1 1
[B,] 1 0 1 0
[C,] 1 1 0 0
[D,] 1 1 0 0

注意事项

  • 运算前必须确认mat1和mat2的行、列节点排序完全一致,否则会出现边匹配错位的问题
  • 不要直接用mat1 + mat2做合并,如果两个矩阵在同一位置都为1,加法会得到取值2,不符合邻接矩阵的0-1取值规范

内容的提问来源于stack exchange,提问作者caritajohanna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 23:18:33