Visualización de nodos y aristas importantes
Un problema del conjunto de datos de sarampión es que hay tres personas de las que no se sabe quién las infectó. Una de estas personas (vértice 184) parece ser, en última instancia, responsable de propagar la enfermedad a muchas otras, aunque no infectó directamente a demasiadas. Sin embargo, como el vértice 184 no tiene arista entrante en la red, parece tener una intermediación baja. Una forma de explorar la importancia de este vértice es visualizando las distancias geodésicas de las conexiones que salen de esta persona. En este ejercicio vas a crear una gráfica de estas distancias desde este paciente cero.
Este ejercicio forma parte del curso
Análisis de redes en R
Instrucciones del ejercicio
- Usa
make_ego_graph()para crear un subconjunto de nuestra red formado por los vértices conectados al vértice 184. El primer argumento es el grafo originalg. El segundo argumento es el número máximo de conexiones que cualquier vértice necesita para estar conectado con nuestro vértice de interés. En este caso, podemos usardiameter()para obtener la longitud del camino más largo de la red. El tercer argumento es nuestro vértice de interés, que debe ser 184. El argumento final es el modo. En este caso, puedes incluir todas las conexiones independientemente de la dirección. - Crea un objeto
distsque contenga la distancia geodésica de cada vértice respecto del vértice 184. Usa la funcióndistances()para calcularlo. - Asigna el atributo
colora cada vértice. Cada color se seleccionará según su distancia geodésica. La paleta de colorescolorstiene una longitud igual a la distancia geodésica máxima más uno. Esto es para que los vértices a la misma distancia se representen con el mismo color y el paciente cero también tenga su propio color. - Usa
plot()para visualizar la redg184. La etiqueta de los vértices debe ser las distancias geodésicasdists.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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"
)