igraph中按簇折叠图
Collapsing graph by clusters in igraph
我想将图表折叠成各自的 communities/clusters。让我用以下玩具示例来说明这一点:
set.seed(123)
#toy graph
g <- barabasi.game(10) %>%
as.undirected()
#identify communities
c_g <- fastgreedy.community(g)
共有三个社区,如下图所示。
我想减少顶点的折叠,以便结果图中的顶点对应于先前顶点的成员资格。见图表。
我是 igraph
包的新手,我不熟悉处理 igraph
对象的最佳方式。
你可以试试 contract
:
library(igraph)
set.seed(123)
g <- barabasi.game(10) %>% as.undirected()
c_g <- fastgreedy.community(g)
V(g)$name <- letters[1:vcount(g)]
g2 <- contract(g, membership(c_g), vertex.attr.comb=toString)
par(mfrow=c(1,2))
plot(g, vertex.color=membership(c_g))
plot(simplify(g2), vertex.color=1:vcount(g2))
我想将图表折叠成各自的 communities/clusters。让我用以下玩具示例来说明这一点:
set.seed(123)
#toy graph
g <- barabasi.game(10) %>%
as.undirected()
#identify communities
c_g <- fastgreedy.community(g)
共有三个社区,如下图所示。
我想减少顶点的折叠,以便结果图中的顶点对应于先前顶点的成员资格。见图表。
我是 igraph
包的新手,我不熟悉处理 igraph
对象的最佳方式。
你可以试试 contract
:
library(igraph)
set.seed(123)
g <- barabasi.game(10) %>% as.undirected()
c_g <- fastgreedy.community(g)
V(g)$name <- letters[1:vcount(g)]
g2 <- contract(g, membership(c_g), vertex.attr.comb=toString)
par(mfrow=c(1,2))
plot(g, vertex.color=membership(c_g))
plot(simplify(g2), vertex.color=1:vcount(g2))