始める無料で始める

ランダム化でアソータティビティを評価する

この演習では、ランダム化手順を用いて、観察された交友ネットワークのアソータティビティが頂点の性別を前提としたときにどの程度起こりやすいかを調べます。ネットワーク内の頂点の性別を1000回ランダムに並べ替え、それぞれのランダムネットワークについてアソータティビティを再計算します。

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

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

コースを見る

演習の手順

  • 前の演習で計算したオブジェクト values を使い、assortativity() でグラフオブジェクト g1 の性別に基づくアソータティビティを計算し、結果をオブジェクト observed.assortativity に代入します。
  • for ループ内では、毎回 sample() でオブジェクト values をランダムに並べ替えつつ、assortativity() を用いてネットワーク g1 のアソータティビティを計算します。
  • この置換手順で得られたアソータティビティ値の分布を hist() で描画し、元の g1 ネットワークで観測された値(observed.assortativity に保存)に対応する赤い縦線を追加します。

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

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

# Calculate the observed assortativity
observed.assortativity <- ___(g1, values)

# Calculate the assortativity of the network randomizing the gender attribute 1000 times
results <- vector('list', 1000)
for(i in 1:1000){
  results[[i]] <- ___(g1, sample(___))
}

# Plot the distribution of assortativity values and add a red vertical line at the original observed value
___(unlist(results))
abline(v = ___, col = "red", lty = 3, lwd=2)

コードを編集して実行