Zacznij terazZacznij za darmo

Pośrednictwo

Kolejną miarą ważności danego wierzchołka jest jego pośrednictwo (ang. betweenness). To wskaźnik określający, jak często dany wierzchołek leży na najkrótszych ścieżkach między dowolnymi dwoma wierzchołkami w sieci. Można go interpretować jako miarę tego, jak bardzo dany wierzchołek jest kluczowy dla przepływu informacji przez sieć. Osoby o wysokim wskaźniku pośrednictwa pełnią rolę ważnych łączników między różnymi częściami sieci. W naszej sieci transmisji odry wierzchołki o wysokim pośrednictwie to dzieci, które odegrały centralną rolę w przenoszeniu choroby do kolejnych części sieci. W tym ćwiczeniu wyznaczysz wskaźnik pośrednictwa dla każdego wierzchołka, a następnie stworzysz nowy wykres sieci, w którym rozmiar wierzchołka będzie odzwierciedlał jego wartość pośrednictwa.

To ćwiczenie jest częścią kursu

Analiza sieci w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Oblicz pośrednictwo każdego wierzchołka za pomocą funkcji betweenness() na obiekcie grafu g. Upewnij się, że obliczenia są wykonywane dla sieci skierowanej. Wyniki tej funkcji przypisz do zmiennej g.b.
  • Zbadaj wizualnie rozkład wartości pośrednictwa, używając funkcji hist().
  • Użyj funkcji plot(), aby narysować sieć na podstawie wartości pośrednictwa. Etykiety wierzchołków ustaw na NA, aby nie były wyświetlane. Atrybut rozmiaru wierzchołka powinien być równy jeden plus pierwiastek kwadratowy z wartości pośrednictwa zapisanych w obiekcie g.b. Ze względu na duże różnice w wartościach pośrednictwa w tej sieci, normalizacja w ten sposób pozwala wyświetlić wszystkie węzły, zachowując jednocześnie czytelną informację o ich względnym znaczeniu.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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))
Edytuj i uruchom kod