2013-02-27 3 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

ответ

6

Предполагая, что ваш объект сообщества имеет имя community.object, which(membership(community.object) == x) извлекает индексы вершин в сообществе x. Если вы хотите крупнейшего сообщества, вы можете установить x в which.max(sizes(community.object)). Наконец, вы можете использовать induced.subgraph для извлечения этого конкретного сообщества в отдельную графу:

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

Спасибо.. Но для igraph 0.6 или выше следует использовать inv.subgraph вместо подграфа – randomp

+0

О да, извините. Исправлено это в моем ответе. –

 Смежные вопросы

  • Нет связанных вопросов^_^