CommencerCommencer gratuitement

Visualiser les nœuds et arêtes importants

Un problème avec le jeu de données sur la rougeole est que, pour trois personnes, on ne sait pas qui les a contaminées. L’une d’elles (le sommet 184) semble, au final, responsable d’avoir propagé la maladie à de nombreuses autres personnes, même si elle n’a pas infecté directement beaucoup d’individus. Cependant, comme le sommet 184 n’a aucune arête entrante dans le réseau, sa centralité d’intermédiarité apparaît faible. Une façon d’explorer l’importance de ce sommet est de visualiser les distances géodésiques des connexions sortant de cet individu. Dans cet exercice, vous allez tracer ces distances à partir de ce patient zéro.

Cet exercice fait partie du cours

Analyse de réseaux avec R

Afficher le cours

Instructions

  • Utilisez make_ego_graph() pour créer un sous-ensemble de notre réseau composé des sommets connectés au sommet 184. Le premier argument est le graphe original g. Le deuxième argument est le nombre maximal de connexions qu’un sommet doit avoir pour être relié à notre sommet d’intérêt. Dans ce cas, nous pouvons utiliser diameter() pour obtenir la longueur du plus long chemin dans le réseau. Le troisième argument est notre sommet d’intérêt, qui doit être 184. Le dernier argument est le mode. Ici, vous pouvez inclure toutes les connexions, quelle que soit leur direction.
  • Créez un objet dists qui contient la distance géodésique de chaque sommet par rapport au sommet 184. Utilisez la fonction distances() pour le calculer.
  • Attribuez l’attribut color à chaque sommet. Chaque couleur sera choisie en fonction de sa distance géodésique. La palette de couleurs colors a une longueur égale à la distance géodésique maximale plus un. Ainsi, les sommets à la même distance sont tracés avec la même couleur et le patient zéro a aussi sa propre couleur.
  • Utilisez plot() pour visualiser le réseau g184. L’étiquette des sommets doit être la distance géodésique dists.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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"
     )
Modifier et exécuter le code