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
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 originaleg. 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 usarediameter()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
distsche contenga la distanza geodetica di ogni vertice dal vertice 184. Usa la funzionedistances()per calcolarla. - Assegna l'attributo
colora ciascun vertice. Ogni colore sarà scelto in base alla sua distanza geodetica. La palette di coloricolorsha 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 reteg184. L'etichetta del vertice deve essere la distanza geodeticadists.
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"
)