7

Network Modularityの方程式は、ウィキペディアのページ (および評判の良い書籍) に記載されています。いくつかのコードで動作するのを見たいです。これは、R ( The R Foundation for Statistical Computing ) で使用されるigraphのモジュール性ライブラリを使用して可能であることがわかりました。

モジュール性を計算するためにコードで使用されている以下の例 (または同様の例) を見たいと思います。ライブラリは例を示していますが、実際には私が望んでいるものではありません。

頂点の集合 V = {1, 2, 3, 4, 5} と辺 E = {(1,5), (2,3), (2,4), (2,5) (3 ,5)} 無向グラフを形成します。

これらの頂点を 2 つのコミュニティ c1 = {2,3} と c2 = {1,4,5} に分割します。計算されるのは、これら 2 つのコミュニティのモジュール性です。

4

1 に答える 1

9
library(igraph)
g <- graph(c(1,5,2,3,2,4,2,5,3,5))
membership <- c(1,2,2,1,1)
modularity(g, membership)

ここにいくつかの説明があります:

  1. グラフを作成するときに使用するベクトルは、グラフのエッジ リストです。(0.6 より古い igraph バージョンでは、igraph はその時点でゼロベースの頂点インデックスを使用していたため、数値から 1 を減算する必要がありましたが、それ以降は使用していません)。

  2. メンバーシップ ベクトルのi番目の要素は、membership頂点iが属するコミュニティのインデックスを示します。

于 2011-04-02T14:54:17.843 に答える