Inizia subitoInizia gratis

Visualizzare nodi ed archi importanti

Un problema del dataset sul morbillo è che ci sono tre persone per le quali non si sa da chi siano state contagiate. Una di queste (il vertice 184) sembra in ultima analisi responsabile della diffusione della malattia a molte altre persone, anche se non ha contagiato direttamente molte persone. Tuttavia, poiché il vertice 184 non ha archi entranti nella rete, sembra avere una bassa betweenness. Un modo per esplorare l'importanza di questo vertice è visualizzare le distanze geodetiche delle connessioni che partono da questo individuo. In questo esercizio creerai un grafico di queste distanze a partire da questo paziente zero.

Questo esercizio fa parte del corso

Analisi delle reti in R

Visualizza corso

Istruzioni dell'esercizio

  • Usa make_ego_graph() per creare un sottoinsieme della nostra rete composto dai vertici connessi al vertice 184. Il primo argomento è il grafo originale g. Il secondo argomento è il numero massimo di connessioni che qualsiasi vertice deve avere per essere connesso al nostro vertice di interesse. In questo caso possiamo usare diameter() per restituire la lunghezza del cammino più lungo nella rete. Il terzo argomento è il nostro vertice di interesse, che deve essere 184. L'ultimo argomento è la modalità (mode). In questo caso puoi includere tutte le connessioni indipendentemente dalla direzione.
  • Crea un oggetto dists che contenga la distanza geodetica di ogni vertice dal vertice 184. Usa la funzione distances() per calcolarla.
  • Assegna l'attributo color a ciascun vertice. Ogni colore sarà scelto in base alla sua distanza geodetica. La palette di colori colors ha una lunghezza pari alla distanza geodetica massima più uno. Questo serve a fare in modo che i vertici alla stessa distanza siano disegnati con lo stesso colore e che anche il paziente zero abbia un suo colore.
  • Usa plot() per visualizzare la rete g184. L'etichetta del vertice deve essere la distanza geodetica dists.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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"
     )
Modifica ed esegui il codice