如何用R中的R igraphh包画出社团划分后的图

利用R语言的R igraphh作社团挖掘的图

输入:网络拓扑文件(边);社区划分结果文件(顶点  社区号)

输出:社区划分的结果图

#将label中各顶点的社区号映射为颜色


}

复杂网络研究中的一个重要部分僦是社团发现(Community Detection)算法的研究密歇根大学物理学系教授就主要在社团发现方面做出了很多贡献。今天简单总结一下几个开源复杂网络分析软件中的社团发现算法:

首先是这个软件非常好用,功能强大清晰。我也写过多篇日志介绍遗憾的是NetworkX的社团发现算法很简单,按照的介绍其主要实现了下面这个算法:

而且在运行算法的时候需要指定需要输出的社团的最小规模,如:

这样c中包含了所有社团大小大於等于4的所有社团

其次是,这个软件在很多方面也很强大例如复杂网络可视化等。但是社团发现算法也比较单一打开其界面后,点擊右侧的“模块化”就可以使用下面的算法进行分析:

Gephi支持相应的模块度(Modularity)的计算,也支持社团划分结果的输出

上面两个软件的功能都比较单一,经过查阅文献我们发现有些论文用到了这个软件包,这个包支持RC语言和Python,如果之前使用NetworkX可以无缝地和这个软件整合起来,R igraphh实现了较多的社团划分算法可以参考其查找。例如下列算法其都实现了:

总体上来讲R igraphh实现的Community Detection算法最多,而且可以通过Python和NetworkX无缝衔接至于NetworkX和Gephi,我介绍了两者的网络数据可以如何转化。就总结这么多最后附上一张我在论文里用Gephi做的图:


}

利用R语言的R igraphh作社团挖掘的图

输入:网络拓扑文件(边);社区划分结果文件(顶点  社区号)

输出:社区划分的结果图

#将label中各顶点的社区号映射为颜色


}

我要回帖

更多关于 R igraph 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信