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

Центральность по посредничеству

Ещё одна мера важности вершины — её центральность по посредничеству (betweenness). Этот показатель отражает, насколько часто данная вершина оказывается на кратчайших путях между любыми двумя вершинами сети. Можно считать его мерой того, насколько вершина критична для распространения информации в сети. Вершины с высокой центральностью по посредничеству играют роль ключевых мостов между различными частями сети. В нашей сети передачи кори это те дети, которые были центральными звеньями в распространении болезни на другие части сети. В этом упражнении вы определите значение центральности по посредничеству для каждой вершины, а затем построите новый график сети, в котором размер вершины будет пропорционален этому показателю, чтобы выделить ключевые вершины.

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

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

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

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

  • Вычислите центральность по посредничеству для каждой вершины с помощью функции betweenness(), применённой к объекту графа g. Убедитесь, что вычисления выполняются для ориентированной сети. Результат функции будет присвоен переменной g.b.
  • Визуально изучите распределение значений центральности по посредничеству с помощью функции hist().
  • Используйте plot(), чтобы построить график сети на основе значений центральности по посредничеству. Установите для меток вершин значение NA, чтобы они не отображались. Размер вершин должен быть равен единице плюс квадратный корень из значений центральности по посредничеству, хранящихся в объекте g.b. Учитывая большой разброс значений в данной сети, такая нормализация позволяет отобразить все узлы, сохраняя при этом наглядное представление об их относительной важности.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

library(igraph)

# Calculate betweenness of each vertex
g.b <- ___(g, directed = ___)

# Show histogram of vertex betweenness
___(___, breaks = 80)

# Create plot with vertex size determined by betweenness score
___(g, 
     vertex.label = ___,
     edge.color = 'black',
     vertex.size = sqrt(___)+1,
     edge.arrow.size = 0.05,
     layout = layout_nicely(g))
Редактировать и запускать код