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

Connected

연습 문제

igraph 네트워크 레이아웃

igraph 패키지는 네트워크 시각화를 위한 여러 가지 기본 레이아웃 알고리즘을 제공합니다. 네트워크의 크기에 따라 구조를 더 효과적으로 보여 주는 레이아웃이 달라질 수 있어요. 이상적으로는 네트워크에서 엣지들이 서로 교차하는 횟수를 최소화하는 레이아웃이 가장 좋습니다. 이 연습 문제에서는 기본 제공 레이아웃 알고리즘 중 일부만 살펴보겠습니다. 각 플롯의 코드를 다시 실행하면 같은 레이아웃 유형이라도 약간씩 다른 결과가 나오는데, 이를 몇 번 반복해 보면 네트워크에 가장 보기 좋은 시각화를 찾는 데 도움이 됩니다.

지침

100 XP
  • plot 함수에서 layout 인수를 layout_in_circle()로 바꿔 원형 네트워크를 그리세요.
  • plot 함수에서 layout 인수를 layout_with_fr()로 바꿔 Fruchterman-Reingold 레이아웃으로 네트워크를 그리세요.
  • 각 정점의 (x, y) 좌표 행렬을 제공해 레이아웃을 직접 지정할 수도 있어요. 여기서는 layout_as_tree() 함수를 사용해 좌표 행렬 m을 만든 뒤, plot()의 layout 인수에 m을 넘겨서 플롯하세요.
  • 올바른 레이아웃을 고르기가 막막할 수 있습니다. 다행히 igraph에는 주어진 그래프 객체에 가장 적절한 레이아웃 함수를 선택하려고 시도하는 layout_nicely()가 있어요. 이 함수를 사용해 좌표 행렬 m1을 만들고, 해당 좌표로 네트워크를 플로팅하세요.