Visualiser les nœuds et arêtes importants
Un problème avec l'ensemble de données sur la rougeole est que trois personnes n'ont aucune information sur qui les a infectées. L'une d'elles (le sommet 184) semble en fin de compte responsable d'avoir propagé la maladie à de nombreuses autres personnes, même si elle n'a pas directement infecté beaucoup d'individus. Cependant, comme le sommet 184 n'a aucune arête entrante dans le réseau, il semble avoir une centralité d'intermédiarité faible. Une façon d'examiner l'importance de ce sommet est de visualiser les distances géodésiques des connexions qui partent de cette personne. Dans cet exercice, vous allez créer un graphique de ces distances à partir de ce patient zéro.
Cette activité fait partie du cours
Analyse de réseaux avec R
Instructions de l’exercice
- Utilisez
make_ego_graph()pour créer un sous-ensemble du réseau composé des sommets reliés au sommet 184. Le premier argument est le graphe originalg. 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, vous pouvez utiliserdiameter()pour retourner la longueur du plus long chemin dans le réseau. Le troisième argument est notre sommet d'intérêt, soit 184. Le dernier argument est le mode. Ici, vous pouvez inclure toutes les connexions, peu importe leur direction. - Créez un objet
distsqui contient la distance géodésique de chaque sommet par rapport au sommet 184. Utilisez la fonctiondistances()pour le calculer. - Attribuez l'attribut
colorà chaque sommet. Chaque couleur sera choisie en fonction de sa distance géodésique. La palette de couleurscolorsa 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 possède aussi sa propre couleur. - Utilisez
plot()pour visualiser le réseaug184. L'étiquette des sommets doit être les distances géodésiquesdists.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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"
)