Dùng hoán vị ngẫu nhiên để đánh giá tính đồng dạng (assortativity)
Trong bài tập này, bạn sẽ ước tính khả năng giá trị tính đồng dạng quan sát được trong mạng bạn bè là do phân bố giới tính của các đỉnh, bằng cách thực hiện một quy trình ngẫu nhiên hóa. Bạn sẽ hoán vị ngẫu nhiên giới tính của các đỉnh trong mạng 1000 lần và tính lại tính đồng dạng cho mỗi mạng ngẫu nhiên.
Bài tập này là một phần của khóa học
Phân tích Mạng lưới trong R
Hướng dẫn bài tập
- Dùng
assortativity()để tính tính đồng dạng của đối tượng đồ thịg1theo giới tính, dựa trên đối tượngvaluesđã tính ở bài trước, và gán kết quả vào đối tượngobserved.assortativity. - Bên trong vòng lặp for, tính tính đồng dạng của mạng
g1bằngassortativity()trong khi mỗi lần đều hoán vị ngẫu nhiên đối tượngvaluesvớisample(). - Vẽ phân phối các giá trị tính đồng dạng từ quy trình hoán vị này bằng
hist()và thêm một đường thẳng dọc màu đỏ cho giá trị tính đồng dạng quan sát được của mạngg1ban đầu, đang được lưu trongobserved.assortativity.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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)