始める無料で始める

ランダムグラフ

ランダムグラフを生成することは、元のグラフが持つ特性を前提に、他のネットワーク指標がどの程度起こりやすいか(または起こりにくいか)を調べるための重要な手法です。最も単純なランダムグラフは、元のグラフと同じ頂点数を持ち、密度がおおよそ同じであるグラフです。ここでは、元の Forrest Gump Network に基づくランダムグラフを1つ作成します。

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

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

コースを見る

演習の手順

  • 関数 erdos.renyi.game() を使ってランダムグラフを生成します。最初の引数 n にはグラフ g のノード数を指定します。これは gorder() で計算できます。2つ目の引数 p.or.m には、以前にオブジェクト gd として保存したグラフ g の密度を指定します。最後の引数は type='gnp' として、グラフの密度を用いてランダムグラフを生成することを関数に伝えます。この新しいグラフをベクトル g.random として保存します。
  • ランダムグラフ g.random の密度を取得します。ランダムグラフを数回生成すると、この値はわずかに変動しますが、前の演習でオブジェクト gd に保存した元のグラフ g の密度とおおよそ等しくなることに気づくはずです。
  • ランダムグラフ g.random の平均経路長を計算します。

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

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

library(igraph)

# Create one random graph with the same number of nodes and edges as g
g.random <- ___(n = ___, p.or.m = ___, type = "gnp")

g.random

plot(g.random)

# Get density of new random graph `g.random`
___(___)

# Get the average path length of the random graph g.random
___(___, directed = FALSE)
コードを編集して実行