最大クリークを可視化する
ネットワークを可視化する際には、特定の頂点の相互接続を確認するためにネットワークの一部を抽出して表示することがよくあります。ここでは、Forrest Gump ネットワークにおける最大クリークの可視化を作成します。前の演習では、サイズ 9 のクリークが 2 つあると判明しました。メインのネットワークからこれらのクリークを抽出して 2 つの新しい igraph オブジェクトを作成し、それらを並べてプロットします。subgraph() 関数を使うと、新しいネットワークオブジェクトに残す頂点を選択できます。
この演習はコースの一部です
Rで学ぶネットワーク分析
演習の手順
- ネットワーク内の最大クリークのリストをオブジェクト
lcに代入します。 subgraph()関数を使って 2 つの無向サブグラフを作成します。1 つ目のgs1は、最初の最大クリークに含まれる頂点のみを含めます。2 つ目のgs2は、2 番目の最大クリークに含まれる頂点のみを含めます。この関数はas.undirected()でラップして、サブグラフも無向になるようにします。plot()を使って 2 つの最大クリークを左右に並べて可視化します。最初にpar(mfrow=c(1,2))を実行してください。これは 2 つの可視化を横に並べるためです。レイアウトはlayout.circle()に設定し、見やすく表示できるようにしましょう。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
library(igraph)
# Assign largest cliques output to object 'lc'
lc <- ___(g)
# Create two new undirected subgraphs, each containing only the vertices of each largest clique.
gs1 <- as.undirected(___(g, ___[[1]]))
gs2 <- as.undirected(___(g, ___[[2]]))
# Plot the two largest cliques side-by-side
par(mfrow=c(1,2)) # To plot two plots side-by-side
___(gs1,
vertex.label.color = "black",
vertex.label.cex = 0.9,
vertex.size = 0,
edge.color = 'gray28',
main = "Largest Clique 1",
layout = ___(gs1)
)
___(gs2,
vertex.label.color = "black",
vertex.label.cex = 0.9,
vertex.size = 0,
edge.color = 'gray28',
main = "Largest Clique 2",
layout = ___(gs2)
)