เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การแสดงภาพ node และ edge ที่สำคัญ

ปัญหาหนึ่งของชุดข้อมูลโรคหัดคือมีบุคคล 3 ราย ที่ไม่ทราบว่าติดเชื้อมาจากใคร หนึ่งในนั้น (vertex 184) ดูเหมือนจะเป็นต้นเหตุของการแพร่เชื้อไปยังบุคคลอื่นอีกจำนวนมาก แม้ว่าจะไม่ได้แพร่เชื้อโดยตรงให้กับหลายคน อย่างไรก็ตาม เนื่องจาก vertex 184 ไม่มี edge ขาเข้าในเครือข่าย จึงดูเหมือนมีค่า betweenness ต่ำ วิธีหนึ่งในการสำรวจความสำคัญของ vertex นี้คือการแสดงภาพระยะทาง geodesic ของการเชื่อมต่อที่แผ่ออกจากบุคคลนี้ ในแบบฝึกหัดนี้ให้สร้างพล็อตของระยะทางเหล่านี้จาก patient zero

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การวิเคราะห์เครือข่ายใน R

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ make_ego_graph() เพื่อสร้างเครือข่ายย่อยที่ประกอบด้วย vertex ที่เชื่อมต่อกับ vertex 184 อาร์กิวเมนต์แรกคือกราฟต้นฉบับ g อาร์กิวเมนต์ที่สองคือจำนวนการเชื่อมต่อสูงสุดที่ vertex ใดก็ตามต้องใช้เพื่อเชื่อมต่อถึง vertex ที่สนใจ ในกรณีนี้ใช้ diameter() เพื่อคืนค่าความยาวของเส้นทางที่ยาวที่สุดในเครือข่าย อาร์กิวเมนต์ที่สามคือ vertex ที่สนใจซึ่งก็คือ 184 และอาร์กิวเมนต์สุดท้ายคือ mode ในที่นี้ให้รวมการเชื่อมต่อทั้งหมดโดยไม่คำนึงถึงทิศทาง
  • สร้างออบเจกต์ dists ที่เก็บค่าระยะทาง geodesic ของทุก vertex จาก vertex 184 โดยใช้ฟังก์ชัน distances()
  • กำหนด attribute color ให้กับแต่ละ vertex โดยเลือกสีตามระยะทาง geodesic palette สี colors มีความยาวเท่ากับระยะทาง geodesic สูงสุดบวกหนึ่ง เพื่อให้ vertex ที่มีระยะทางเท่ากันแสดงสีเดียวกัน และ patient zero มีสีเฉพาะของตัวเอง
  • ใช้ plot() เพื่อแสดงภาพเครือข่าย g184 โดยกำหนด label ของ vertex เป็นระยะทาง geodesic dists

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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"
     )
แก้ไขและรันโค้ด