r - 在 igraph 中提取 ego_networks/子网络

标签 r igraph sna

我有一个包含 169 个顶点和 513 条边的图。我需要提取所有 ego_networks 或 sub_networks 以获得每个节点及其直接邻居。我设法使用 ego(graph) 来做到这一点,它生成每个节点及其直接邻域。然而,这个函数的结果是一个列表的列表,无法将每个 self 提取为单独的 igraph 或邻接矩阵对象。

有没有办法将每个 ego_net 提取为 igraph 或邻接矩阵对象?

sub1 <- ego(graph)

#sub1 is a list of lists that contain each nodes with its direct neighbours. 
I can access each ego network by sub1[1], sub1[2], ...etc. however, I could not extract each ego
as a separate graph object. 

最佳答案

由于您没有提供任何数据,我将使用 igraphdata 包中的 karate 网络来说明答案。正如您所指出的,ego 返回节点及其邻居的列表。因此,您只需将每个列表转换为图表即可。您可以使用 lapplyinduced_subgraph 来做到这一点。

library(igraph)
library(igraphdata)
data(karate)
sub1 <- ego(karate)

ListOfGraphs = lapply(sub1, function(x) induced_subgraph(karate, x))
class(ListOfGraphs[[1]])
[1] "igraph"

关于r - 在 igraph 中提取 ego_networks/子网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65725874/

相关文章:

r - 无法运行任何 ggsubplot 示例

r - T & F 如何作为 R 中 TRUE 和 FALSE 的缩写?

r - 如何删除R数据框中的列

python - 在 Python/R 中创建节点-边三角形邻接图

r - iGraph + Plotly 创建随机连接

r - 使用 igraph 将边缘属性显示为标签

Recommnederlab - 从推荐者中提取相似点

python - 带有权重的 igraph 初始化

r - 如何用 R 绘制相配性?

math - 在随机图中: What is the probability that a node has a link to any node on a list x defined special nodes?