Kom igångKom igång gratis

Visualisera viktiga noder och kanter

Ett problem med mässlingsdatasetet är att det saknas information om smittkällan för tre individer. En av dessa individer (nod 184) verkar i slutändan ha spridit sjukdomen till många andra, trots att de inte direkt smittade så många. Eftersom nod 184 saknar inkommande kant i nätverket framstår deras betweenness-värde som lågt. Ett sätt att undersöka vikten av denna nod är att visualisera de geodetiska avstånden för kopplingar som utgår från den. I den här övningen skapar du ett diagram över dessa avstånd från denna noll-patient.

Den här övningen är en del av kursen

Nätverksanalys i R

Visa kurs

Övningsinstruktioner

  • Använd make_ego_graph() för att skapa ett delnätverk som innehåller de noder som är kopplade till nod 184. Det första argumentet är den ursprungliga grafen g. Det andra argumentet är det maximala antalet kopplingar som krävs för att en nod ska vara kopplad till vår nod av intresse. Här kan du använda diameter() för att returnera längden på den längsta vägen i nätverket. Det tredje argumentet är vår nod av intresse, vilket ska vara 184. Det sista argumentet är riktningsläget – här kan du inkludera alla kopplingar oavsett riktning.
  • Skapa ett objekt dists som innehåller det geodetiska avståndet från nod 184 till varje nod i nätverket. Använd funktionen distances() för att beräkna detta.
  • Tilldela attributet color till varje nod. Färgen väljs baserat på nodens geodetiska avstånd. Färgpaletten colors har en längd som är lika med det maximala geodetiska avståndet plus ett. Detta gör att noder med samma avstånd får samma färg, och noll-patienten får en egen färg.
  • Använd plot() för att visualisera nätverket g184. Nodernas etiketter ska vara de geodetiska avstånden dists.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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"
     )
Redigera och kör kod