1

igraph中是否有计算编号的函数。基于属性的每个连接组件的大小和大小。IE。顶点的子集通过它们的属性“连接”。

library(igraph)
## create example graph
g1 <- graph.full(5)
V(g1)$name <- 1:5    
g2 <- graph.full(5)
V(g2)$name <- 6:10
g3 <- graph.ring(5)
V(g3)$name <- 11:15
g <- g1 + g2 + g3 + edge('1', '6') + edge('1', '11')

##defining attribute to subset of vertices
hh<-1:vcount(g) %in% c(7,6,1,13,14)
g<-set.vertex.attribute(g, name="selected" ,value=0)
g<-set.vertex.attribute(g, name="selected",hh, value=1)

#plotted out
vc="[<-"(rep('black',vcount(g)),c(7,6,1,13,14),'red')
plot(g,vertex.color=vc, vertex.label.color="white")

我现在能想到的是仅使用选定的顶点重新绘制并运行该clusters函数。有没有更简单的方法?

4

1 回答 1

2

您可以使用induced.subgraphsubgraph依赖于您的 igraph 版本

     clusters(induced.subgraph(g,V(g)[V(g)$selected == 1]))

 $membership
[1] 1 1 1 2 2

$csize
[1] 3 2

$no
[1] 2
于 2012-12-11T05:41:00.300 回答