Betweenness
Een andere maat voor het belang van een bepaalde knoop is de betweenness. Dit is een index van hoe vaak de knoop op kortste paden ligt tussen willekeurige paren knopen in het netwerk. Je kunt dit zien als hoe cruciaal de knoop is voor de informatiestroom door een netwerk. Personen met een hoge betweenness vormen belangrijke bruggen tussen verschillende delen van een netwerk. In ons mazelen-overdrachtsnetwerk zijn knopen met een hoge betweenness die kinderen die centraal stonden in het doorgeven van de ziekte naar andere delen van het netwerk. In deze oefening bepaal je de betweenness-score voor elke knoop en maak je vervolgens een nieuwe plot van het netwerk, waarbij je de knoopgrootte aanpast op basis van de betweenness-score om deze sleutelknopen te benadrukken.
Deze oefening maakt deel uit van de cursus
Netwerkanalyse in R
Oefeninstructies
- Bereken de betweenness van elke knoop met de functie
betweenness()op het graafobjectg. Zorg ervoor dat de scores voor een gericht netwerk worden berekend. Sla de resultaten van deze functie op alsg.b. - Bekijk de verdeling van de betweenness-scores visueel met de functie
hist(). - Gebruik
plot()om een plot van het netwerk te maken op basis van de betweenness-scores. Zet de knooplabels opNAzodat ze niet verschijnen. De knoopgrootte moet gelijk zijn aan één plus de vierkantswortel van de betweenness-scores in objectg.b. Gezien het grote verschil in betweenness-scores in dit netwerk zorgt het normaliseren van de scores op deze manier ervoor dat alle knopen zichtbaar zijn, terwijl hun relatieve belang toch herkenbaar blijft.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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))