介數中心性(Betweenness)
衡量頂點重要性的另一個指標是介數中心性(betweenness)。這個指標表示一個頂點位於網路中任意兩個頂點之間最短路徑上的頻率。你可以把它想成:該頂點對於資訊在網路中流動有多關鍵。介數中心性高的個體通常是連結網路不同部分的關鍵橋樑。在我們的麻疹傳播網路中,介數中心性高的頂點代表那些在將疾病傳遞到網路其他部分上扮演核心角色的孩童。在本練習中,你將為每個頂點計算介數中心性分數,並依據該分數調整頂點大小重新繪製網路,以凸顯這些關鍵頂點。
本練習屬於課程
R 的 Network Analysis
練習說明
- 使用圖形物件
g上的betweenness()函式計算每個頂點的介數中心性。請確保以有向網路進行計算。此函式的結果指定為g.b。 - 使用
hist()函式以視覺方式檢視介數中心性分數的分布。 - 使用
plot()依介數中心性分數繪製網路圖。將頂點標籤設為NA以隱藏它們。頂點大小屬性應為物件g.b中介數中心性分數的平方根再加 1。考量此網路的介數中心性分數差異很大,以此方式正規化可同時讓所有節點都能被看見,且仍能分辨其相對重要性。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
library(igraph)
# Calculate betweenness of each vertex
g.b <- ___(g, directed = ___)
# Show histogram of vertex betweenness
___(___, breaks = 80)
# Create plot with vertex size determined by betweenness score
___(g,
vertex.label = ___,
edge.color = 'black',
vertex.size = sqrt(___)+1,
edge.arrow.size = 0.05,
layout = layout_nicely(g))