ランダム化でアソータティビティを評価する
この演習では、ランダム化手順を用いて、観察された交友ネットワークのアソータティビティが頂点の性別を前提としたときにどの程度起こりやすいかを調べます。ネットワーク内の頂点の性別を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)