Vizualizace důležitých vrcholů a hran
Jedním z problémů datasetu spalniček je, že u tří jedinců není známo, kdo je nakazil. Jeden z nich (vrchol 184) je zřejmě zodpovědný za šíření nemoci k mnoha dalším jedincům, přestože sám přímo nenakazil příliš mnoho lidí. Protože ale vrchol 184 nemá v síti žádnou příchozí hranu, vychází mu nízká hodnota betweenness centrality. Jedním ze způsobů, jak prozkoumat důležitost tohoto vrcholu, je vizualizovat geodetické vzdálenosti spojení vycházejících od tohoto jedince. V tomto cvičení vytvoříš graf těchto vzdáleností od nultého pacienta.
Toto cvičení je součástí kurzu
Analýza sítí v R
Pokyny k cvičení
- Pomocí
make_ego_graph()vytvoř podmnožinu naší sítě složenou z vrcholů propojených s vrcholem 184. Prvním argumentem je původní grafg. Druhým argumentem je maximální počet spojení, přes která musí být vrchol propojen s námi sledovaným vrcholem. Zde můžeš použítdiameter(), která vrátí délku nejdelší cesty v síti. Třetím argumentem je náš vrchol zájmu, tedy 184. Posledním argumentem je mode – v tomto případě zahrň všechna spojení bez ohledu na jejich směr. - Vytvoř objekt
distsobsahující geodetickou vzdálenost každého vrcholu od vrcholu 184. K výpočtu použij funkcidistances(). - Přiřaď každému vrcholu atribut
color. Barva se vybere podle geodetické vzdálenosti daného vrcholu. Barevná paletacolorsmá délku rovnou maximální geodetické vzdálenosti plus jedna – vrcholy se stejnou vzdáleností tak budou vykresleny stejnou barvou a nultý pacient bude mít také vlastní barvu. - Pomocí
plot()vizualizuj síťg184. Popisky vrcholů by měly odpovídat geodetickým vzdálenostemdists.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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"
)