7

网络模块化的方程式在其维基百科页面(和著名的书籍)中给出。我想看到它在一些代码中工作。我发现这可以使用与 R 一起使用的 igraph 的模块化 The R Foundation for Statistical Computing)。

我想看看代码中用于计算模块性的下面的示例(或类似的示例)。该库给出了示例,但这并不是我真正想要的。

让我们有一组顶点 V = {1, 2, 3, 4, 5} 和边 E = {(1,5), (2,3), (2,4), (2,5) (3 ,5)} 形成一个无向图。

将这些顶点划分为两个社区:c1 = {2,3} 和 c2 = {1,4,5}。要计算的是这两个社区的模块化。

4

1 回答 1

9
library(igraph)
g <- graph(c(1,5,2,3,2,4,2,5,3,5))
membership <- c(1,2,2,1,1)
modularity(g, membership)

这里有一些解释:

  1. 我在创建图形时使用的向量是图形的边列表。(在 0.6 之前的 igraph 版本中,我们必须从数字中减去 1,因为当时 igraph 使用从零开始的顶点索引,但不再使用了)。

  2. 成员向量的第imembership元素给出了顶点i所属社区的索引。

于 2011-04-02T14:54:17.843 回答