R中的网络模块化计算

ale*_*ale 7 modularity r graph-theory igraph

网络模块化的等式在其维基百科页面(以及信誉良好的书籍)中给出.我想看到它在一些代码中工作.我发现这是可能使用模块化库IGRAPH与R(用于将R基金会统计计算).

我想在代码中使用下面的示例(或类似的示例)来计算模块性.图书馆给出了示例,但它并不是我想要的.

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

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

Tam*_*más 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)
Run Code Online (Sandbox Code Playgroud)

这里有一些解释:

  1. 我在创建图形时使用的向量是图形的边缘列表.(在0.6以上的igraph版本中,我们不得不从数字中减去1,因为igraph当时使用从零开始的顶点索引,但不再是这样).

  2. 隶属度向量的第i个元素membership给出了顶点i所属的社区的索引.