เครือข่ายจาก Forrest Gump
ในบทนี้จะใช้เครือข่ายสังคมที่สร้างจากภาพยนตร์เรื่อง Forrest Gump โดยแต่ละ edge แทนความสัมพันธ์ระหว่างตัวละครสองตัวที่ปรากฏในฉากเดียวกันอย่างน้อยหนึ่งครั้ง ดังนั้นเครือข่ายนี้จึงเป็นแบบไม่มีทิศทาง (undirected) เพื่อทำความคุ้นเคยกับเครือข่าย จะเริ่มจากการสร้าง network object จากชุดข้อมูลดิบ จากนั้นจะระบุ vertex ที่สำคัญโดยใช้ค่าที่เรียกว่า eigenvector centrality ซึ่งตัวละครที่มีค่านี้สูงหมายความว่ามีการเชื่อมต่อกับตัวละครอื่นที่มีการเชื่อมต่อสูงเช่นกัน และสุดท้ายจะสร้างภาพแสดงผลเครือข่ายเพื่อสำรวจข้อมูลเบื้องต้น
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์เครือข่ายใน R
คำแนะนำการฝึกหัด
- ตรวจสอบแถวแรก ๆ ของ dataframe
gumpโดยใช้head() - สร้างเครือข่ายแบบไม่มีทิศทางโดยใช้
graph_from_data_frame() - ระบุ vertex ที่สำคัญโดยใช้ฟังก์ชัน
eigen_centrality()แล้วกำหนดผลลัพธ์ให้กับออบเจกต์g.ecจากนั้นระบุว่าตัวละครใดมีค่า eigenvector centrality สูงสุดโดยใช้which.max()โดยค่าคะแนน centrality จะถูกเก็บไว้ในg.ec$vector - สร้างกราฟของเครือข่าย Forrest Gump โดยใช้
plot()และกำหนดขนาดของ vertex ให้เท่ากับ 25 เท่าของค่า eigenvector centrality ที่เก็บอยู่ในg.ec$vector
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
library(igraph)
# Inspect Forrest Gump Movie dataset
head(gump)
# Make an undirected network
g <- ___(gump, directed = FALSE)
# Identify key nodes using eigenvector centrality
g.ec <- ___(g)
___(g.ec$vector)
# Plot Forrest Gump Network
plot(g,
vertex.label.color = "black",
vertex.label.cex = 0.6,
vertex.size = 25*(___),
edge.color = 'gray88',
main = "Forrest Gump Network"
)