2017-03-21 22 views
1

私は演劇のキャラクターネットワークで働いています。ノードは文字を表し、エッジは相互にアドレス指定するスピーチを表します。それは有向ネットワークであり、エッジの重みは、ソースキャラクタがターゲットに対して言う単語の数に等しい。igraphのcluster_walktrap関数でウェイトはどのように扱われますか?

iGraphでは、エッジウェイトは距離を意味することもあり、時には近接性を意味します。 betweennessのための正しい結果を得るには、例えば、私は複数の単語の文字が別の言うように、エッジの重みを反転する必要があり、「近い」彼らはネットワークにあります。

edgeData <- data.frame(source, target, weight = numWords) 
graph <- graph_from_data_frame(edgeData) 
betweenness(graph, weights = 1/E(graph)$weight) 

は今、私は勉強したいです私の演劇のコミュニティ構造、そして私はアルゴリズムを正しく使う方法を知らない。エッジウェイトを距離として扱い、ウェイトを逆転させて、より多く話す人物が互いに「より近く」なるようにする必要がありますか?

cluster_walktrap(graph, weights = 1/E(graph)$weight) 

また、ウェイトをウェイトとして扱い、そのウェイトをデフォルト状態で使用する必要がありますか?

cluster_walktrap(graph) 

ありがとうございます!

答えて

0

cluster_walktrap(graph)はOKです。コミュニティ検出、重みは距離ではなく重量です。

グラフのインデックスを計算すると混乱します。

いますが、最短パス(または他の)を計算する場合、あなたはデモを設計することができ weights = 1/E(graph)$weight

を使用する必要があります。

+0

ありがとうございます!非常に役立ちます。 – blakesDisciple

関連する問題