エッジの可視化
この演習では、エッジの重みに基づいてネットワークのエッジの太さを変更する方法と、ネットワークからエッジを削除する方法を学びます。これは、大規模でクラスター化が強いネットワークを見やすくするのに役立つことがあります。本章では、igraph ネットワークの可視化で可能なことのほんの入口に触れました。今後の章で、これらのスキルをさらに伸ばしていきます。
この演習はコースの一部です
Rで学ぶネットワーク分析
演習の手順
- 友人同士が一緒に過ごした時間数に基づいて、エッジの重みベクトル
w1を作成します。 - 作成した重みベクトルを
edge.widthに設定してネットワークをプロットします。edge.color = 'black'を使うと、すべてのエッジが黒になります。 - 次に、新しいグラフオブジェクト
g2を作成します。これはg1ネットワークから、重みが2時間未満のすべてのエッジを削除したものです。これはdelete_edges()を使って行います。引数は2つで、1つ目はグラフオブジェクト、2つ目は削除するエッジのサブセットです。ここでは、値が2時間未満のエッジをすべて削除します。 - 最後に、適切なエッジ幅ベクトルとレイアウトを使って新しいネットワーク
g2をプロットします。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
library(igraph)
# Create a vector of weights based on the number of hours each pair spend together
w1 <- E(g1)$___
# Plot the network varying edges by weights
m1 <- layout_nicely(g1)
plot(g1,
vertex.label.color = "black",
edge.color = 'black',
edge.width = ___,
layout = m1)
# Create a new igraph object by deleting edges that are less than 2 hours long
g2 <- delete_edges(g1, E(g1)[___ < ___])
# Plot the new graph
w2 <- E(g2)$hours
m2 <- layout_nicely(g2)
plot(g2,
vertex.label.color = "black",
edge.color = 'black',
edge.width = ___,
layout = ___)