各頂点のエッジを特定する
この演習では、特定のエッジを見つける方法を学びます。2つの頂点間にエッジが存在するかを判定し、さらに指定した頂点に対して、どちら向きでもつながっているすべての頂点を見つけます。
この演習はコースの一部です
Rで学ぶネットワーク分析
演習の手順
- まず
plot()を使ってこのネットワークを可視化します。可視化は後で改善します。分析の前にネットワークを可視化しておくと役立ちます。今回のネットワークを見やすくするため、頂点サイズを0、エッジ矢印サイズを0.1に設定してください。 - グラフオブジェクトの角括弧による部分抽出を使い、頂点184から頂点178へ、そしてその逆方向のエッジがあるかを確認します。返り値が 1 の場合は
TRUE(エッジあり)、0 の場合はFALSE(エッジなし)を意味します。 - 関数
incident()を使って、頂点184から出入りする(どちら向きでも)エッジ、または頂点184から出ていくエッジのみを特定します。第1引数はグラフオブジェクト、第2引数は調べる頂点、第3引数は方向を示すmodeです。all、in、outから選択してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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("___"))