始める無料で始める

エッジの可視化

この演習では、エッジの重みに基づいてネットワークのエッジの太さを変更する方法と、ネットワークからエッジを削除する方法を学びます。これは、大規模でクラスター化が強いネットワークを見やすくするのに役立つことがあります。本章では、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 = ___)
コードを編集して実行