R:"connecting" 个图表

R: "connecting" graphs

我使用 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

一个:b

对于二元情况,问题是社区之间是否存在联系,您可以执行以下操作。首先,根据成员资格(属于“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))