微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获得Rigraph中最大的连接组件

如何解决获得Rigraph中最大的连接组件

如何获取图形最大部分的子图?

例如,我有一个g

size_components_g <-clusters(g,mode="weak")$csize
size_components_g
#1 2 3 10 25 2 2 1

max_size <- max(size_components_g)
max_size
#25

所以25是最大的大小。

我想提取具有这25个顶点的分量。我该怎么办?

解决方法

R包中任何函数的输出值的详细说明可以在其文档中找到。在这种情况下,igraph::clusters返回一个命名列表,其中存储了csize个簇的大小,而membership包含每个顶点所属的簇ID。

g <- igraph::sample_gnp(20,1/20)

components <- igraph::clusters(g,mode="weak")
biggest_cluster_id <- which.max(components$csize)

# ids
vert_ids <- V(g)[components$membership == biggest_cluster_id]

# subgraph
igraph::induced_subgraph(g,vert_ids)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。