2016-08-11 8 views
0

igraph community-detectionを使用していますが、コミュニティサイズが小さすぎるか大きすぎます。検出されたコミュニティのサイズを指定する方法はありますか?そうでない場合は、igraphから検出されたコミュニティを手動で分割またはマージする方法はありますか?ありがとう!検出されたコミュニティのサイズをRに設定

+0

こんにちは、スタックオーバーフローへようこそ。再現可能な例を提供してください:http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example – Felix

答えて

0

私はそれがigraphによって検出されたコミュニティのサイズを指定/を設定することはできないと思う一方で、コミュニティ検出アルゴリズムのいくつかは、/(あなたが欲しいか多く社会指定する分割の代替が可能マージ)。

cluster_spinglass()ファンクションを使用し、spinsを希望のコミュニティの数に設定できます。 またはのいずれかの階層的な方法を使用してを使用して、希望のコミュニティ数を取得し、no引数を使用して必要なコミュニティの数を指定します。

例コード:cut_at方法は、単にグラフに戻ってすべてのノードのコミュニティインデックスをあなたを与えるのに対し、spinglass方法は(バックすなわち、単純な数値ベクトルをcommunitiesオブジェクトをあなたに与えること

# Set up your graph object 
g <-[an igraph object] # set up your graph 

# Use spinglass to create a set number of communities 
sg <- g %>% cluster_spinglass(spins = 10) # produces 10 communities using spinglass algorithm 

# Use hierarchical methods and cut_at to create a set number of communities 
walk <- g %>% cluster_walktrap() %>% cut_at(no = 10) 
eb <- g %>% cluster_edge_betweenness() %>% cut_at(no = 10) 

注意)。

詳細についてはcommunitieshelp pageをご覧ください。

関連する問題