Distanzen zwischen Knoten
Die Vernetztheit eines Netzwerks lässt sich beurteilen, indem man die Anzahl und Länge der Pfade zwischen Knoten betrachtet. Ein Pfad ist einfach die Kette von Verbindungen zwischen Knoten. Die Anzahl der dazwischenliegenden Kanten zwischen zwei Knoten entspricht der geodätischen Distanz. Knoten, die direkt miteinander verbunden sind, haben eine geodätische Distanz von 1. Knoten, die einen gemeinsamen Nachbarn teilen, aber nicht direkt verbunden sind, haben eine geodätische Distanz von 2, und so weiter. In gerichteten Netzwerken kann die Richtung der Kanten berücksichtigt werden. Wenn zwei Knoten über gerichtete Kanten nicht erreicht werden können, erhalten sie eine geodätische Distanz von unendlich. In dieser Übung lernst du, wie du die längsten Pfade zwischen Knoten in einem Netzwerk findest und wie du jene Knoten bestimmst, die innerhalb von \(n\) Verbindungen von einem gegebenen Knoten liegen. Bei Krankheitsübertragungsnetzwerken wie dem Masern-Datensatz hilft dir das, zu erkennen, wie schnell sich die Krankheit durch das Netzwerk ausbreitet.
Diese Übung ist Teil des Kurses
Netzwerkanalyse mit R
Anleitung zur Übung
- Finde die Länge des längsten Pfads im Netzwerk mit
farthest_vertices(). - Bestimme die Reihenfolge der Knoten entlang dieses Pfads mit
get_diameter(). Das zeigt die einzelnen Kinder, die die Krankheit am weitesten durch das Netzwerk weitergegeben haben. - Verwende
ego(), um alle Knoten zu finden, die innerhalb von 2 Verbindungen von Knoten 42 erreichbar sind, und anschließend jene, die Knoten 42 innerhalb von zwei Verbindungen erreichen können. Das erste Argument vonego()ist das Graph-Objekt, das zweite Argument ist die maximale Anzahl von Verbindungen zwischen den Knoten, das dritte Argument ist der interessierende Knoten und das vierte Argument legt fest, ob du ausgehende Verbindungen vom interessierenden Knoten oder eingehende Verbindungen zu ihm betrachtest.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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('___'))