Önemli düğüm ve kenarları görselleştirme
Kızamık veri kümesiyle ilgili bir sorun, kimin tarafından enfekte edildikleri bilinmeyen üç kişi olmasıdır. Bu kişilerden biri (184 numaralı düğüm), doğrudan çok fazla kişiyi enfekte etmemiş olsa da, sonunda hastalığı birçok kişiye yaymaktan sorumlu gibi görünüyor. Ancak ağda 184 numaralı düğüme gelen bir kenar olmadığı için ara değişkenlik (betweenness) değeri düşük görünür. Bu düğümün önemini keşfetmenin bir yolu, bu kişiden dışarıya doğru olan bağlantıların jeodezik uzaklıklarını görselleştirmektir. Bu egzersizde, bu hasta sıfırdan olan uzaklıkların grafiğini oluşturacaksın.
Bu egzersiz
R ile Ağ Analizi
kursunun bir parçasıdırEgzersiz talimatları
make_ego_graph()kullanarak, 184 numaralı düğüme bağlı düğümlerden oluşan bir ağ altkümesi oluştur. İlk argüman orijinal grafikg. İkinci argüman, ilgi duyduğumuz düğüme bağlanmak için herhangi bir düğümün ihtiyaç duyduğu en fazla bağlantı sayısıdır. Bu durumda ağdaki en uzun yolun uzunluğunu döndürmek içindiameter()kullanabiliriz. Üçüncü argüman ilgi duyduğumuz düğümdür ve 184 olmalıdır. Son argüman ise moddur. Bu örnekte yönünden bağımsız olarak tüm bağlantıları dahil edebilirsin.- Her düğümün 184 numaralı düğüme olan jeodezik uzaklığını içeren
distsadlı bir nesne oluştur. Bunu hesaplamak içindistances()fonksiyonunu kullan. - Her düğüme
colorözniteliğini ata. Her renk, düğümün jeodezik uzaklığına göre seçilecektir.colorsrenk paletinin uzunluğu, en büyük jeodezik uzaklığa artı bire eşittir. Böylece aynı uzaklıktaki düğümler aynı renkte çizilir ve hasta sıfırın da kendine ait bir rengi olur. plot()kullanarakg184ağını görselleştir. Düğüm etiketleri jeodezik uzaklıklardistsolmalıdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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"
)