НачатьНачать бесплатно

Использование рандомизации для оценки ассортативности

В этом упражнении вы определите, насколько вероятна наблюдаемая ассортативность в сети дружеских связей с учётом пола вершин. Для этого вы выполните процедуру рандомизации: случайным образом перемешаете пол вершин в сети 1000 раз и каждый раз пересчитаете ассортативность для полученной случайной сети.

Это упражнение является частью курса

Анализ сетей в R

Посмотреть курс

Инструкции к упражнению

  • Используйте assortativity(), чтобы рассчитать ассортативность графового объекта g1 по полу на основе объекта values, вычисленного в предыдущем упражнении. Результат сохраните в объект observed.assortativity.
  • Внутри цикла for рассчитайте ассортативность сети g1 с помощью assortativity(), каждый раз случайно переставляя значения объекта values с помощью sample().
  • Постройте распределение значений ассортативности, полученных в ходе процедуры рандомизации, с помощью 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)

Редактировать и запускать код