Neighbors
ในการวิเคราะห์เครือข่าย การสำรวจรูปแบบการเชื่อมต่อระหว่าง vertex ถือเป็นเรื่องสำคัญ วิธีหนึ่งคือการระบุ vertex ที่อยู่ใกล้เคียง (neighboring vertices) ของแต่ละ vertex จากนั้นจะสามารถหาได้ว่า vertex ใดที่มี neighbor ร่วมกัน แม้จะไม่ได้เชื่อมต่อกันโดยตรง ซึ่งบ่งชี้ว่า vertex สองตัวอาจมีความสัมพันธ์ทางอ้อมผ่าน vertex อื่น ในแบบฝึกหัดนี้จะได้เรียนรู้วิธีระบุ neighbors และ shared neighbors ระหว่างคู่ของ vertex
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์เครือข่ายใน R
คำแนะนำการฝึกหัด
- ใช้ฟังก์ชัน
neighbors()เพื่อระบุ vertex ที่เชื่อมต่อกับ vertex 12 ในทุกรูปแบบ, vertex ที่ส่ง edge มายัง vertex 12, และ vertex ที่รับ edge จาก vertex 12 โดยเลือกค่าที่ถูกต้องในอาร์กิวเมนต์modeซึ่งมีตัวเลือกได้แก่all,inและout - ตรวจสอบว่า vertex 42 และ vertex 124 มี neighbor ร่วมกันหรือไม่ โดยสร้างเวกเตอร์
n1ที่เก็บ vertex ที่รับ edge จาก vertex 42 และเวกเตอร์n2ที่เก็บ vertex ที่ส่ง edge มายัง vertex 124 โดยใช้neighbors()จากนั้นใช้intersection()เพื่อตรวจสอบว่ามี vertex ใดที่ปรากฏในn1และn2ทั้งคู่หรือไม่
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
library(igraph)
# Identify all neighbors of vertex 12 regardless of direction
___(g, '12', mode = c('___'))
# Identify other vertices that direct edges towards vertex 12
___(g, '12', mode = c('___'))
# Identify any vertices that receive an edge from vertex 42 and direct an edge to vertex 124
n1 <- ___(g, '___', mode = c('___'))
n2 <- ___(g, '___', mode = c('___'))
___(n1, n2)