Memvisualisasikan simpul dan sisi yang penting
Salah satu masalah pada himpunan data campak adalah ada tiga individu yang tidak diketahui siapa yang menulari mereka. Salah satu dari individu tersebut (simpul 184) tampak pada akhirnya bertanggung jawab menyebarkan penyakit ke banyak individu lain meskipun mereka tidak langsung menulari terlalu banyak orang. Namun, karena simpul 184 tidak memiliki sisi masuk dalam jaringan, mereka terlihat memiliki betweenness yang rendah. Salah satu cara untuk menelusuri pentingnya simpul ini adalah dengan memvisualisasikan jarak geodesik dari koneksi yang keluar dari individu ini. Dalam latihan ini Anda akan membuat plot jarak-jarak tersebut dari pasien nol ini.
Latihan ini merupakan bagian dari kursus
Analisis Jaringan di R
Instruksi latihan
- Gunakan
make_ego_graph()untuk membuat subset jaringan yang terdiri atas simpul-simpul yang terhubung ke simpul 184. Argumen pertama adalah graf aslig. Argumen kedua adalah jumlah koneksi maksimal yang diperlukan agar suatu simpul terhubung ke simpul yang menjadi fokus kita. Dalam kasus ini kita dapat menggunakandiameter()untuk mengembalikan panjang lintasan terpanjang dalam jaringan. Argumen ketiga adalah simpul yang menjadi fokus kita, yaitu 184. Argumen terakhir adalah mode. Dalam kasus ini Anda dapat menyertakan semua koneksi tanpa memedulikan arahnya. - Buat objek
distsyang berisi jarak geodesik setiap simpul dari simpul 184. Gunakan fungsidistances()untuk menghitungnya. - Tetapkan atribut
colorpada setiap simpul. Setiap warna akan dipilih berdasarkan jarak geodesiknya. Palet warnacolorsmemiliki panjang yang sama dengan jarak geodesik maksimal ditambah satu. Hal ini agar simpul-simpul dengan jarak yang sama diplot dengan warna yang sama dan pasien nol juga memiliki warnanya sendiri. - Gunakan
plot()untuk memvisualisasikan jaringang184. Label simpul harus berupa jarak geodesikdists.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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"
)