始める無料で始める

各頂点のエッジを特定する

この演習では、特定のエッジを見つける方法を学びます。2つの頂点間にエッジが存在するかを判定し、さらに指定した頂点に対して、どちら向きでもつながっているすべての頂点を見つけます。

この演習はコースの一部です

Rで学ぶネットワーク分析

コースを見る

演習の手順

  • まず plot() を使ってこのネットワークを可視化します。可視化は後で改善します。分析の前にネットワークを可視化しておくと役立ちます。今回のネットワークを見やすくするため、頂点サイズを 0、エッジ矢印サイズを 0.1 に設定してください。
  • グラフオブジェクトの角括弧による部分抽出を使い、頂点184から頂点178へ、そしてその逆方向のエッジがあるかを確認します。返り値が 1 の場合は TRUE(エッジあり)、0 の場合は FALSE(エッジなし)を意味します。
  • 関数 incident() を使って、頂点184から出入りする(どちら向きでも)エッジ、または頂点184から出ていくエッジのみを特定します。第1引数はグラフオブジェクト、第2引数は調べる頂点、第3引数は方向を示す mode です。allinout から選択してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

library(igraph)

# Make a basic plot
___(g, 
     vertex.label.color = "black", 
     edge.color = 'gray77',
     vertex.size = ___,
     edge.arrow.size = ___,
     layout = layout_nicely(g))

# Is there an edge going from vertex 184 to vertex 178?
g['___', '___']

# Is there an edge going from vertex 178 to vertex 184?
g['___', '___']

# Show all edges going to or from vertex 184
___(g, '___', mode = c("___"))

# Show all edges going out from vertex 184
___(g, '___', mode = c("___"))
コードを編集して実行