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

使用Igraph计算大型网络中各ego网络密度并匹配对应ID的方法

R语言计算有向网络ego本地密度并绑定节点ID解决方案

核心思路

make_ego_graph()返回的列表顺序与igraph对象的顶点序列V(g)完全一一对应,直接提取顶点的名称作为ID绑定密度值即可,不受ID是否连续的影响。

完整可运行代码

# 加载依赖包
library(igraph)
library(dplyr)

# 读入示例边表数据
df<-read.table(text="student_id alter
 1     3
 2     5
 2     2
 2     3
 3     2
 3     4
 3     5
 4     1
 4     6
 4     3
 5     1
 5     6
 5     2
 6     5
 6     2
 6     1
 7     8
 8     9
 9     8
 9     7
10     7
10     9
11    19
11    15
11    12
12    20
12    19
12    11
13    15
13    19
13    11
14    16
14    12
14    18
15    17
15    20
15    17
16    14
16    19
16    20
16    13
17    20
17    18
17    13
17    14
18    13
18    19
18    17
19    17
19    16
19    11
20    13
20    17
20    11
20    1", header = TRUE) 

# 构建有向图对象
g <- graph_from_data_frame(df, directed = TRUE)

# 生成所有ego网络
egonet_list <- make_ego_graph(g)

# 绑定ID与密度值,按student_id排序
result <- data.frame(
  student_id = as.integer(V(g)$name),
  egonet_density = sapply(egonet_list, graph.density)
) %>% arrange(student_id)

# 查看输出结果
print(result, digits = 7)

输出说明

运行上述代码得到的result数据框和你给出的期望输出完全一致,包含student_id和对应egonet_density两列,自动适配不连续的节点ID场景。


内容的提问来源于stack exchange,提问作者L. Tucker

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 01:54:02