在两个图中找到重叠的模块性 - 在Python中使用iGraph

时间:2016-08-22 17:43:51

标签: python graph igraph

我在iGraph,A和G中创建了两个相关的图。我使用infomap或label_propagation方法在G中找到了结构中的社区(因为它们是两个允许加权的方向链接)。由此,我可以看到G社区的这个社区的模块化。但是,我需要看看它将为A图提供什么样的模块性。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

您是否尝试使用modularity功能?

im <- infomap.community(graph=G)
qG <- modularity(im)
memb <- membership(im)
qA <- modularity(x=A, membership=memb, weights=E(A)$weight)
cat("qG=",qG," vs. qA=",qA,"\n",sep="")

注意:使用igraph v0.7测试,我现在没有更新的版本。参数/函数名称可能略有不同。

答案 1 :(得分:-1)

所以我明白了。您需要做的是找到一个社区结构,可以是预定义的,也可以使用为社区检测提供的方法之一,例如infomap或label_propagation。这为您提供了一个顶点聚类,您可以将其用于放置在另一个图形上,并使用.q来查找模块性。