我正在尝试从我的图表中收集一些社区。然而,由此产生的社区由孤立的节点组成,这与我对社区的理解相矛盾。 这是我必不可少的R / igraph代码:
g<-simplify(g)
print("isolates: ")
length(which(degree(g)==0)-1) # says 0
c<-fastgreedy.community(g)
cmem<-community.to.membership(g,c$merges,3081)
w<-which(cmem$membership==0)
sub<-subgraph(g,w)
print("isolates in subgraph: ")
length(which(degree(sub)==0)-1) # says > 0
我犯了错误吗?谢谢你的帮助。
答案 0 :(得分:1)
您忘记从which(cmem$membership == 0)
中减去1,这是必需的,因为igraph将节点从零开始索引,而R使用基于1的索引。使用w <- which(cmem$membership == 0) - 1
再次尝试,并查看隔离区是否仍然存在。