始める無料で始める

隣接頂点

ネットワーク分析では、頂点間に存在する接続のパターンを調べることがよく重要になります。その一つの方法が、各頂点の隣接頂点を特定することです。そうすることで、直接はつながっていない頂点同士でも、他の頂点を介して間接的な関係があるかを、共有している隣接頂点から判断できます。この演習では、頂点の隣接関係と、頂点の組同士で共有される隣接頂点の見つけ方を学びます。

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

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

コースを見る

演習の手順

  • neighbors() 関数を使って、頂点 12 と何らかの形でつながっている頂点、頂点 12 に向かって辺を送る頂点、頂点 12 から有向辺を受け取る頂点を特定してください。これは引数 mode に適切な値を指定することで行えます。allinout から選びます。
  • 頂点 42 と 124 が共通の隣接頂点を持つかを確認します。neighbors() を使い、頂点 42 から辺を受け取る頂点のベクトル n1 と、頂点 124 に向かって辺を送る頂点のベクトル n2 を作成してください。次に intersection() を使って、n1n2 の両方に存在する頂点があるかを特定します。

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

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

library(igraph)

# Identify all neighbors of vertex 12 regardless of direction
___(g, '12', mode = c('___'))

# Identify other vertices that direct edges towards vertex 12
___(g, '12', mode = c('___'))

# Identify any vertices that receive an edge from vertex 42 and direct an edge to vertex 124
n1 <- ___(g, '___', mode = c('___'))
n2 <- ___(g, '___', mode = c('___'))
___(n1, n2)
コードを編集して実行