ÎncepețiÎncepe gratuit

Vizualizarea nodurilor și muchiilor importante

O problemă cu setul de date privind rujeola este că există trei persoane despre care nu se știe cine le-a infectat. Una dintre acestea (vârful 184) pare să fie în cele din urmă responsabilă pentru răspândirea bolii la mulți alți indivizi, chiar dacă nu a infectat direct prea mulți. Totuși, deoarece vârful 184 nu are nicio muchie de intrare în rețea, gradul de betweenness al acestuia pare scăzut. O modalitate de a explora importanța acestui vârf este să vizualizezi distanțele geodezice ale conexiunilor care pornesc de la acest individ. În acest exercițiu vei crea un grafic al acestor distanțe față de pacientul zero.

Acest exercițiu face parte din cursul

Analiza rețelelor în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Folosește make_ego_graph() pentru a crea un subgraf al rețelei noastre, format din vârfurile conectate la vârful 184. Primul argument este graful original g. Al doilea argument este numărul maxim de conexiuni necesar pentru ca un vârf să fie conectat la vârful de interes. În acest caz, poți folosi diameter() pentru a returna lungimea celui mai lung drum din rețea. Al treilea argument este vârful de interes, care trebuie să fie 184. Ultimul argument este modul. În acest caz, poți include toate conexiunile, indiferent de direcție.
  • Creează un obiect dists care să conțină distanța geodezică a fiecărui vârf față de vârful 184. Folosește funcția distances() pentru a o calcula.
  • Atribuie atributul color fiecărui vârf. Fiecare culoare va fi selectată în funcție de distanța geodezică. Paleta de culori colors are o lungime egală cu distanța geodezică maximă plus unu. Astfel, vârfurile aflate la aceeași distanță vor fi reprezentate în aceeași culoare, iar pacientul zero va avea propria sa culoare.
  • Folosește plot() pentru a vizualiza rețeaua g184. Eticheta fiecărui vârf trebuie să fie distanța geodezică corespunzătoare din dists.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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"
     )
Editează și rulează codul