始める無料で始める

最大クリークを可視化する

ネットワークを可視化する際には、特定の頂点の相互接続を確認するためにネットワークの一部を抽出して表示することがよくあります。ここでは、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)
)
コードを編集して実行