การใช้การสุ่มเพื่อประเมินค่า Assortativity
ในแบบฝึกหัดนี้ คุณจะตรวจสอบว่าค่า assortativity ที่สังเกตได้ในเครือข่ายมิตรภาพนั้นมีความเป็นไปได้มากน้อยเพียงใด โดยพิจารณาจากเพศของแต่ละ vertex ด้วยกระบวนการสุ่ม คุณจะสุ่มสลับเพศของ vertex ในเครือข่าย 1,000 ครั้ง แล้วคำนวณค่า assortativity ใหม่สำหรับแต่ละเครือข่ายที่สุ่มขึ้นมา
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์เครือข่ายใน R
คำแนะนำการฝึกหัด
- ใช้
assortativity()เพื่อคำนวณค่า assortativity ของ graph objectg1โดยอิงตามเพศ โดยใช้ objectvaluesที่คำนวณไว้ในแบบฝึกหัดก่อนหน้า แล้วกำหนดผลลัพธ์ให้กับ objectobserved.assortativity - ภายใน for loop ให้คำนวณค่า assortativity ของเครือข่าย
g1ด้วยassortativity()โดยสุ่มสลับ objectvaluesในแต่ละรอบด้วยsample() - พล็อตการกระจายของค่า assortativity ที่ได้จากกระบวนการสุ่มนี้ด้วย
hist()แล้วเพิ่มเส้นแนวตั้งสีแดงเพื่อแสดงค่า assortativity ที่สังเกตได้จริงของเครือข่ายg1ซึ่งเก็บไว้ในobserved.assortativity
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Calculate the observed assortativity
observed.assortativity <- ___(g1, values)
# Calculate the assortativity of the network randomizing the gender attribute 1000 times
results <- vector('list', 1000)
for(i in 1:1000){
results[[i]] <- ___(g1, sample(___))
}
# Plot the distribution of assortativity values and add a red vertical line at the original observed value
___(unlist(results))
abline(v = ___, col = "red", lty = 3, lwd=2)