sna ↔ igraph 함수 대조표

R 실습 — 손으로 돌려 보기STAGED+ 스터디

같은 줄의 두 함수는 대체로 같은 것을 계산한다. 주황색 표시가 있는 줄은 기본값이 달라 값이 어긋나는 것이니 반드시 본문 해당 절을 확인할 것.

하고 싶은 것snaigraph
자료구조 · 그리기
객체 만들기network::network(adj)graph_from_adjacency_matrix()
graph_from_data_frame()
그리기gplot()plot()
배치gplot(mode="fruchtermanreingold")layout_with_fr()
변환intergraph::asIgraph() / asNetwork()
기초 지표
밀도gden()edge_density()
상호성grecip(measure="edgewise")
기본값은 "dyadic"
reciprocity()
기본이 edgewise
전이성gtrans()
방향을 살림 → 0.4570
transitivity(type="global")
방향 무시 → 0.4732
다이애드 센서스dyad.census()dyad_census()
트라이애드 센서스triad.census()triad_census()
최단거리 행렬geodist()$gdistdistances()
두 결과 완전 일치
컴포넌트 개수components(connected="weak")components(mode="weak")$no
컴포넌트 크기component.dist()$csizecomponents()$csize
고립자isolates()which(degree(g) == 0)
무방향화symmetrize(rule="weak")as_undirected(mode="collapse")
중심성
연결정도degree(cmode="indegree")degree(mode="in")
근접closeness(cmode="suminvdir")
기본값 "directed"는 비연결에서 전부 0
closeness()
비연결이면 경고 + NaN
매개betweenness(gmode="digraph")betweenness(directed=TRUE)
완전 일치
고유벡터evcent()
길이 1로 정규화
eigen_centrality()$vector
최댓값 1로 정규화 · 순위는 동일
중심화centralization(dat, degree, cmode=)
분모 (n1)2(n-1)^2
centr_degree(loops=FALSE)
loops 기본값 TRUE면 분모 n(n1)n(n-1)
하위집단
극대 클리크clique.census()max_cliques(min=3)
k-코어— 없음 —coreness()
커뮤니티 탐지— 없음 —cluster_walktrap()
cluster_edge_betweenness()
cluster_louvain() (비결정적)
모듈러리티— 없음 —modularity()
구조적 등위성equiv.clust() · sedist()— 없음 —
블록모델blockmodel()— 없음 —
속성 · 모형 · 검정
동류성— 직접 계산 —assortativity_nominal()
assortativity_degree()
가중 연결정도— 직접 계산 —strength(weights=)
무작위 그래프rgraph()sample_gnp() · sample_pa()
sample_smallworld() · sample_degseq()
QAP 검정qaptest() · netlogit()— 없음 —
ERGMergm::ergm() — network 객체 필요
어느 쪽을 먼저 배울 것인가igraph를 주력으로, sna를 보조로 삼는 것을 권한다.
  • 커뮤니티 탐지·k-코어·무작위 그래프 모형은 igraph에만 있고, 현대 문헌이 이쪽을 쓴다.
  • 대신 sna는 인접행렬을 그대로 받는다는 결정적 장점이 있어 작은 자료로 손 계산과 대조할 때 훨씬 편하다.
  • 블록모델링·QAP·ERGM이 필요해지면 그때는 statnet 계보로 넘어가야 한다. intergraph가 그 다리를 놓아 준다.

이 안내서에서 다루지 않은 것 — 이분 네트워크(bipartite)와 투영, 구조적 등위성과 블록모델링, ERGM(지수족 랜덤그래프 모형), 시간에 따라 변하는 네트워크. 앞의 둘은 notes/20_단원3-5·notes/21_단원3-6, ERGM은 notes/32~36 (단원 5-1~5-5)에 있다.