ComenzarEmpieza gratis

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

Ver curso

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 original g. 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 usar diameter() 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 dists que contenga la distancia geodésica de cada vértice respecto del vértice 184. Usa la función distances() para calcularlo.
  • Asigna el atributo color a cada vértice. Cada color se seleccionará según su distancia geodésica. La paleta de colores colors tiene 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 red g184. La etiqueta de los vértices debe ser las distancias geodésicas dists.

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"
     )
Editar y ejecutar código