首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提取igraph中的ego_networks/子网络

提取igraph中的ego_networks/子网络
EN

Stack Overflow用户
提问于 2021-01-15 03:42:17
回答 1查看 241关注 0票数 1

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

有没有一种方法可以将每个ego_net提取为一个图形或邻接矩阵对象?

代码语言:javascript
复制
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. 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-15 08:24:45

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

代码语言:javascript
复制
library(igraph)
library(igraphdata)
data(karate)
sub1 <- ego(karate)

ListOfGraphs = lapply(sub1, function(x) induced_subgraph(karate, x))
class(ListOfGraphs[[1]])
[1] "igraph"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65725874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档