Как оценить кластеры, полученные при обнаружении сообщества igraph - PullRequest
0 голосов
/ 04 мая 2019

Я построил сеть коэкспрессии генов на основе данных RNA-seq. Сетевой файл находится в формате списка краев памяти около 1 ГБ, который был создан путем расчета корреляции Пирсона для каждой пары генов и пар генов, которые имеют корреляцию> 95%, которые были выбраны для создания списка границ.

Я сгруппировал эту генную сеть (крайний список), используя алгоритм обнаружения сообщества «cluster_louvian» пакета igraph R, и получил 534 подкластера. Многие из подкластеров имеют только одну вершину

Как я могу оценить кластеры, чтобы определить лучшие кластеры, которые имеют больше вершин и ребер и важны для дальнейших исследований.

1 Ответ

0 голосов
/ 04 мая 2019

Вы не предоставляете никаких данных, поэтому я проиллюстрирую это на произвольном примере.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...