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

R语言igraph包计算节点加权入度与加权出度

igraph计算加权入度、加权出度方法

直接用igraph内置的strength()函数即可实现,不需要手动遍历边求和,注意不要误用普通的degree()函数——这个函数默认统计的是边的条数,不会按边权重做累加。

实现代码

在你生成g2图对象的代码后,直接运行以下代码即可:

# 计算加权出度:mode参数设为"out",指定取边的weight属性作为权重
w_out <- strength(g2, mode = "out", weights = E(g2)$weight)
# 计算加权入度:mode参数设为"in"
w_in <- strength(g2, mode = "in", weights = E(g2)$weight)

# 合并为数据框输出查看
degree_res <- data.frame(
  节点名称 = V(g2)$name,
  加权出度 = w_out,
  加权入度 = w_in
)
print(degree_res)

示例数据的计算结果

针对你提供的邻接矩阵,运行后得到的各节点数值如下,和手动计算的邻接矩阵行列和完全匹配:

  • V0:加权出度300,加权入度300
  • V2:加权出度100,加权入度0
  • V3:加权出度200,加权入度0
  • V4:加权出度30,加权入度120
  • V6:加权出度30,加权入度120
  • V10:加权出度360,加权入度180
  • V12:加权出度0,加权入度300

注:graph_from_adjacency_matrix()默认按「行是边起点、列是边终点」的规则解析邻接矩阵,和strength()的计算逻辑完全匹配,不需要额外调整图的方向参数。

内容的提问来源于stack exchange,提问作者Luong Nguyen Thanh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 14:24:20