LoslegenKostenlos loslegen

Wichtige Knoten und Kanten visualisieren

Ein Problem beim Masern-Datensatz ist, dass es drei Personen gibt, für die nicht bekannt ist, wer sie infiziert hat. Eine dieser Personen (Knoten 184) scheint letztlich dafür verantwortlich zu sein, die Krankheit an viele andere weiterzugeben, obwohl sie nicht direkt sehr viele Personen infiziert hat. Da Knoten 184 jedoch keine eingehende Kante im Netzwerk hat, wirkt die Betweenness gering. Eine Möglichkeit, die Bedeutung dieses Knotens zu untersuchen, ist, die geodätischen Distanzen der von dieser Person ausgehenden Verbindungen zu visualisieren. In dieser Übung erstellst du einen Plot dieser Distanzen von diesem Patient Zero aus.

Diese Übung ist Teil des Kurses

Netzwerkanalyse mit R

Kurs anzeigen

Anleitung zur Übung

  • Verwende make_ego_graph(), um einen Teilgraphen unseres Netzwerks zu erstellen, der aus Knoten besteht, die mit Knoten 184 verbunden sind. Das erste Argument ist der ursprüngliche Graph g. Das zweite Argument ist die maximale Anzahl von Verbindungen, die ein Knoten benötigt, um mit unserem interessierenden Knoten verbunden zu sein. In diesem Fall können wir diameter() verwenden, um die Länge des längsten Pfads im Netzwerk zu erhalten. Das dritte Argument ist unser interessierender Knoten, der 184 sein sollte. Das letzte Argument ist der Modus. Hier kannst du alle Verbindungen unabhängig von der Richtung einschließen.
  • Erstelle ein Objekt dists, das die geodätische Distanz jedes Knotens vom Knoten 184 enthält. Verwende dazu die Funktion distances().
  • Weise jedem Knoten das Attribut color zu. Jede Farbe wird basierend auf der geodätischen Distanz ausgewählt. Die Farbpalette colors hat eine Länge, die der maximalen geodätischen Distanz plus eins entspricht. So werden Knoten mit gleicher Distanz in derselben Farbe dargestellt, und Patient Zero hat ebenfalls eine eigene Farbe.
  • Verwende plot(), um das Netzwerk g184 zu visualisieren. Die Knotenenlabels sollten die geodätischen Distanzen dists sein.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Make an ego graph
g184 <- ___(g, ___(g), nodes = '184', mode = c("all"))[[1]]

# Get a vector of geodesic distances of all vertices from vertex 184 
dists <- ___(g184, "184")

# Create a color palette of length equal to the maximal geodesic distance plus one.
colors <- c("black", "red", "orange", "blue", "dodgerblue", "cyan")

# Set color attribute to vertices of network g184.
V(___)$color <- colors[dists+1]

# Visualize the network based on geodesic distance from vertex 184 (patient zero).
___(___, 
     vertex.label = ___, 
     vertex.label.color = "white",
     vertex.label.cex = .6,
     edge.color = 'black',
     vertex.size = 7,
     edge.arrow.size = .05,
     main = "Geodesic Distances from Patient Zero"
     )
Code bearbeiten und ausführen