如何对通过igraph社区检测获得的聚类进行评分

时间:2019-05-04 10:13:58

标签: r cluster-analysis igraph

我已经从RNA-seq数据构建了一个基因共表达网络。该网络文件是通过计算每个基因对的Pearson相关性而创建的大约1gb内存的边缘列表格式,并选择相关性> 95%的基因对来创建边缘列表。

我已使用igraph R包“ cluster_louvian”社区检测算法对该基因网络(边缘列表)进行了聚类,并获得了534个子类。许多子集群中只有一个顶点

如何对聚类进行评分,以识别具有更多顶点和边且对进一步研究很重要的最佳聚类。

1 个答案:

答案 0 :(得分:0)

您未提供任何数据,因此我将举一个任意示例进行说明。

library(igraph)
set.seed(1234)
g = erdos.renyi.game(20,0.1)
plot(g)

CL = cluster_louvain(g)
plot(g, vertex.color=CL$membership)

Example graph

现在,您可以获得每个群集中的顶点数量以及连接它们的边数量。

## number of vertices per cluster
table(CL$membership)
1 2 3 4 5 6 7 
1 1 3 2 3 5 5

## number of edges within each cluster
NumClust = max(CL$membership)
sapply(1:NumClust, function(i)
    ecount(induced_subgraph(g, which(CL$membership==i))))
[1] 0 0 2 1 2 4 5