1. 학습
  2. /
  3. 강의
  4. /
  5. R로 하는 네트워크 분석

Connected

연습 문제

네트워크 무작위화

이전 연습 문제에서 Forrest Gump 네트워크의 평균 경로 길이가 무작위 네트워크의 평균 경로 길이보다 더 짧다는 점을 보셨을 거예요. 코드를 몇 번 실행해 보면 Forrest Gump 네트워크가 무작위 네트워크보다 거의 항상 더 낮다는 것도 확인할 수 있습니다. 이는 무작위 네트워크와 정점 수가 같고 그래프 밀도도 거의 동일한데도, Forrest Gump 네트워크가 각 무작위 네트워크보다 더 촘촘히 연결되어 있음을 시사합니다. 코드를 여러 번 재실행하는 대신, 원래 Forrest Gump 그래프의 정점 수와 밀도를 바탕으로 무작위 그래프 1000개를 생성해 보다 체계적으로 확인할 수 있습니다. 그런 다음, 이 무작위 그래프들의 평균 경로 길이가 원래 Forrest Gump 네트워크보다 작은 경우가 몇 번인지 살펴보세요. 이를 무작위화 검정(randomization test)이라고 합니다.

그래프 g와, 이전 연습 문제에서 계산한 그 평균 경로 길이 g.apl이 작업 공간에 준비되어 있습니다.

지침

100 XP
  • for 루프와 리스트 객체 gl을 생성하는 코드를 실행해, 원래 그래프 g를 바탕으로 무작위 그래프 1000개를 생성하세요.
  • lapply()를 사용해 1000개 무작위 그래프의 평균 경로 길이를 계산하세요. unlist()를 사용하는 코드를 실행해 이 1000개 값을 벡터 gl.apls로 만드세요.
  • 벡터 gl.apls에 대해 hist()를 사용해 1000개 무작위 그래프의 평균 경로 길이 히스토그램을 그리세요. 원래 그래프의 평균 경로 길이 g.apl 값을 x절편으로 하는 빨간색 점선의 수직선을 abline()으로 추가하세요.
  • 무작위 그래프의 평균 경로 길이 gl.apls 값이 원래 그래프 g.apl 값보다 작은 비율을 계산하세요. 이는 원래 그래프의 밀도와 정점 수가 주어졌을 때, 관측된 평균 경로 길이가 우연히 나타날 확률과 같습니다.