2013-02-27 26 views
2

我使用fastgreedy.community来生成一个社区对象,其中包含15个社区。但是我怎样才能从这15个社区中提取最大的社区呢?R igraph:如何找到最大的社区?

Community sizes 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 
1862 1708 763 974 2321 1164 649 1046 2 2 2 2 2 2 
15 
2 

在此示例中,我想提取社区5以供进一步使用。 谢谢!

+0

'成员(community.object)'告诉每个顶点是在社区 – Seth 2013-02-27 04:29:42

回答

6

假设您的社区对象名为community.object,which(membership(community.object) == x)将提取社区x中顶点的索引。如果你想要最大的社区,你可以设置xwhich.max(sizes(community.object))。最后,你可以用induced.subgraph到特定社区提取到一个单独的图形:

> x <- which.max(sizes(community.object)) 
> subg <- induced.subgraph(graph, which(membership(community.object) == x)) 
+0

感谢。但对于0.6或更高的图形,应使用诱导分段而不是子图 – randomp 2013-02-27 20:17:40

+0

噢,对不起。修正了我的答案。 – 2013-02-28 12:56:58