Afstanden tussen knopen
De onderlinge verbondenheid van een netwerk kun je beoordelen door het aantal en de lengte van paden tussen knopen te bekijken. Een pad is simpelweg de keten van verbindingen tussen knopen. Het aantal tussenliggende randen tussen twee knopen is de geodetische afstand tussen die knopen. Knopen die direct met elkaar verbonden zijn hebben een geodetische afstand van 1. Knopen die een gemeenschappelijke buur delen maar niet direct verbonden zijn hebben een geodetische afstand van 2, enzovoort. In gerichte netwerken kun je de richting van randen meenemen. Als twee knopen niet bereikt kunnen worden door de richting van de randen te volgen, krijgen ze een geodetische afstand van oneindig. In deze oefening leer je hoe je de langste paden tussen knopen in een netwerk vindt en hoe je bepaalt welke knopen binnen \(n\) verbindingen van een gegeven knoop liggen. Voor netwerken van ziekteoverdracht, zoals de mazelengegevensset, helpt dit je vast te stellen hoe snel de ziekte door het netwerk verspreidt.
Deze oefening maakt deel uit van de cursus
Netwerkanalyse in R
Oefeninstructies
- Bepaal de lengte van het langste pad in het netwerk met
farthest_vertices(). - Bepaal de volgorde van het pad met
get_diameter(). Dit laat de individuele kinderen zien die de ziekte het verst door het netwerk hebben doorgegeven. - Gebruik
ego()om alle knopen te vinden die binnen 2 verbindingen bereikbaar zijn vanaf knoop 42 en vervolgens die knopen die knoop 42 binnen twee verbindingen kunnen bereiken. Het eerste argument vanego()is het graafobject, het tweede argument is het maximale aantal verbindingen tussen de knopen, het derde argument is de knoop van interesse en het vierde argument bepaalt of je verbindingen beschouwt die van de knoop afgaan of naar de knoop toekomen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
library(igraph)
# Which two vertices are the furthest apart in the graph ?
___(g)
# Shows the path sequence between two furthest apart vertices.
___(g)
# Identify vertices that are reachable within two connections from vertex 42
___(g, ___, '42', mode = c('___'))
# Identify vertices that can reach vertex 42 within two connections
___(g, ___, '42', mode = c('___'))