สามเหลี่ยมและค่า Transitivity
อีกหนึ่งตัวชี้วัดสำคัญของการเชื่อมต่อเฉพาะพื้นที่ในกราฟเครือข่ายคือการศึกษา triangle (หรือที่เรียกว่า triad) ในแบบฝึกหัดนี้ คุณจะค้นหา closed triangle ทั้งหมดที่มีอยู่ในเครือข่าย ซึ่งหมายความว่ามี edge เชื่อมระหว่าง vertex สามจุด จากนั้นคำนวณค่า transitivity ของเครือข่าย ซึ่งเทียบเท่ากับสัดส่วนของ triangle ที่เป็นไปได้ทั้งหมดในเครือข่ายที่ถูกปิดครบ นอกจากนี้ยังจะได้เรียนรู้วิธีระบุจำนวน closed triangle ที่ vertex ใดๆ เป็นส่วนหนึ่ง รวมถึงค่า local transitivity ของ vertex นั้น ซึ่งก็คือสัดส่วนของ closed triangle ที่ vertex เป็นส่วนหนึ่ง เทียบกับจำนวน triangle ทั้งหมดที่ vertex นั้นอาจเป็นส่วนหนึ่งได้ในทางทฤษฎี
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์เครือข่ายใน R
คำแนะนำการฝึกหัด
- แสดง matrix ของ triangle ที่เป็นไปได้ทั้งหมดในเครือข่าย Forrest Gump
gโดยใช้ฟังก์ชันtriangles() - ใช้ฟังก์ชัน
count_triangles()เพื่อหาจำนวน triangle ที่ vertex"BUBBA"เป็นส่วนหนึ่ง โดย argumentvidsหมายถึง id ของ vertex - คำนวณค่า global transitivity ของเครือข่าย
gโดยใช้transitivity() - หาค่า local transitivity ของ vertex
"BUBBA"โดยใช้ฟังก์ชันtransitivity()เช่นกัน โดยกำหนด type เป็นlocalเพื่อระบุว่าเป็นการคำนวณแบบ local ไม่ใช่ global
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
library(igraph)
# Show all triangles in the network.
matrix(___(g), nrow = 3)
# Count the number of triangles that vertex "BUBBA" is in.
___(g, vids='___')
# Calculate the global transitivity of the network.
g.tr <- ___(g)
g.tr
# Calculate the local transitivity for vertex BUBBA.
___(g, vids='___', type = "local")