무작위화를 사용해 동류성 평가하기
이 연습 문제에서는 무작위화 절차를 수행해, 친구 관계 네트워크에서 관측된 동류성이 정점의 성별을 고려했을 때 얼마나 그럴듯한지 확인해 보겠습니다. 네트워크에서 정점의 성별을 1000번 무작위로 섞고, 각 무작위 네트워크에 대해 동류성을 다시 계산해 보세요.
이 연습은 강의의 일부입니다
R로 하는 네트워크 분석
연습 안내
- 이전 연습 문제에서 계산한 객체
values를 사용해, 성별을 기준으로 그래프 객체g1의 동류성을assortativity()로 계산하고, 이를observed.assortativity객체에 할당하세요. - for 루프 안에서는 매번
sample()로values를 무작위 섞은 뒤assortativity()를 사용해 네트워크g1의 동류성을 계산하세요. hist()로 이 무작위화 절차에서 얻은 동류성 값들의 분포를 그린 다음, 원래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)