R : "연결"그래프
Nov 24 2020
R을 사용하여 그래프를 만들고 그렸습니다.
library(igraph)
library(igraphdata)
data(karate)
#cluster
cfg <- cluster_fast_greedy(karate)
#plot entire graph
plot(cfg, karate)
#plot first subgraph
a = induced_subgraph(karate, cfg[[1]])
plot(a)
#plot second subgraph
b = induced_subgraph(karate, cfg[[2]])
plot(b)
#plot third subgraph
c = induced_subgraph(karate, cfg[[3]])
plot(c)
어떤 그래프가 어떤 그래프에 연결되어 있는지 보여주는 코드를 작성할 수 있습니까?

예 : 녹색 그래프는 주황색과 보라색에 연결됩니다. 보라색 그래프는 녹색 그래프에만 연결되어 있습니다. 주황색 그래프는 녹색 그래프에 연결되어 있습니다.
( "a"는 주황색 그래프, "b"는 녹색 그래프, "c"는 보라색 그래프)
b : c와 a
c : b
a : b
답변
1 BenNutzer Nov 25 2020 at 08:58
커뮤니티 간의 연결이 존재하는지 여부가 질문 인 바이너리 케이스의 경우 다음을 수행 할 수 있습니다. 먼저, 멤버십에 따라 커뮤니티를 계약합니다 ( "a", "b"또는 "c"에 속함).
V(karate)$mem <- membership(cfg) g <- contract.vertices(karate, V(karate)$mem, vertex.attr.comb = "ignore")
둘째, 루프와 여러 가장자리를 제거합니다.
g <- simplify(g)
마지막으로 인접한 노드를 추출합니다 (이제 위에서 계약 한 후 동일한 커뮤니티).
sapply(1:vcount(g), function(x) adjacent_vertices(g, x))