Betweenness
Une autre mesure de l’importance d’un sommet est sa betweenness. Elle indique à quelle fréquence le sommet se situe sur les plus courts chemins entre deux sommets quelconques du réseau. On peut l’interpréter comme l’importance du sommet dans la circulation de l’information au sein du réseau. Les individus avec une betweenness élevée sont des ponts clés entre différentes parties du réseau. Dans notre réseau de transmission de la rougeole, les sommets à forte betweenness correspondent aux enfants qui ont joué un rôle central dans la propagation de la maladie vers d’autres parties du réseau. Dans cet exercice, vous identifierez le score de betweenness de chaque sommet, puis vous créerez une nouvelle visualisation du réseau en ajustant la taille des sommets selon leur betweenness pour mettre en évidence ces sommets clés.
Cet exercice fait partie du cours
Analyse de réseaux avec R
Instructions
- Calculez la betweenness de chaque sommet avec la fonction
betweenness()sur l’objet grapheg. Assurez-vous que les scores sont calculés pour un réseau orienté. Les résultats de cette fonction seront stockés dansg.b. - Examinez visuellement la distribution des scores de betweenness avec la fonction
hist(). - Utilisez
plot()pour tracer le réseau en fonction des scores de betweenness. Les étiquettes de sommets doivent être définies àNApour ne pas s’afficher. L’attribut de taille des sommets doit être égal à un plus la racine carrée des scores de betweenness contenus dans l’objetg.b. Étant donné la forte disparité des scores de betweenness dans ce réseau, normaliser ainsi les scores permet de voir tous les nœuds tout en conservant une idée claire de leur importance relative.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
library(igraph)
# Calculate betweenness of each vertex
g.b <- ___(g, directed = ___)
# Show histogram of vertex betweenness
___(___, breaks = 80)
# Create plot with vertex size determined by betweenness score
___(g,
vertex.label = ___,
edge.color = 'black',
vertex.size = sqrt(___)+1,
edge.arrow.size = 0.05,
layout = layout_nicely(g))