Betweenness
อีกหนึ่งตัวชี้วัดความสำคัญของเวอร์เทกซ์คือค่า betweenness ซึ่งเป็นดัชนีที่บอกว่าเวอร์เทกซ์นั้นอยู่บนเส้นทางที่สั้นที่สุดระหว่างเวอร์เทกซ์คู่ต่าง ๆ ในเครือข่ายบ่อยเพียงใด อาจมองได้ว่าเป็นตัววัดว่าเวอร์เทกซ์นั้นมีความสำคัญต่อการไหลของข้อมูลผ่านเครือข่ายมากแค่ไหน บุคคลที่มีค่า betweenness สูงทำหน้าที่เป็นสะพานเชื่อมระหว่างส่วนต่าง ๆ ของเครือข่าย ในเครือข่ายการแพร่ระบาดของโรคหัดของเรา เวอร์เทกซ์ที่มีค่า betweenness สูงคือเด็กที่มีบทบาทสำคัญในการส่งต่อโรคไปยังส่วนอื่น ๆ ของเครือข่าย ในแบบฝึกหัดนี้ จะได้คำนวณค่า betweenness ของแต่ละเวอร์เทกซ์ แล้วสร้างพล็อตใหม่ของเครือข่ายโดยปรับขนาดเวอร์เทกซ์ตามค่า betweenness เพื่อเน้นให้เห็นเวอร์เทกซ์ที่มีความสำคัญเหล่านี้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์เครือข่ายใน R
คำแนะนำการฝึกหัด
- คำนวณค่า betweenness ของแต่ละเวอร์เทกซ์โดยใช้ฟังก์ชัน
betweenness()กับออบเจกต์กราฟgโดยตรวจสอบให้แน่ใจว่าคำนวณสำหรับเครือข่ายแบบมีทิศทาง แล้วกำหนดผลลัพธ์ที่ได้ให้กับตัวแปรg.b - ตรวจสอบการกระจายของค่า betweenness ด้วยสายตาโดยใช้ฟังก์ชัน
hist() - ใช้
plot()เพื่อสร้างพล็อตของเครือข่ายตามค่า betweenness โดยกำหนด label ของเวอร์เทกซ์เป็นNAเพื่อไม่ให้แสดงผล และกำหนดขนาดเวอร์เทกซ์เป็นหนึ่งบวกกับรากที่สองของค่า betweenness ที่อยู่ในออบเจกต์g.bการปรับค่าในลักษณะนี้ช่วยแก้ปัญหาความแตกต่างของค่า betweenness ที่มีช่วงกว้างมาก ทำให้มองเห็นโหนดทุกโหนดได้ชัดเจน พร้อมยังสามารถระบุความสำคัญสัมพัทธ์ได้อยู่
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
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))