I am doing a community-level network analysis and I am trying to detect communities in my network. I used three different algorithms
(1) Community detection based on edge betweenness (Newman-Girvan) - Detected: 50 communities, modularity 0.1
ceb <- cluster_edge_betweenness(net)
dendPlot(ceb, mode = "hclust")
plot(ceb, net, vertex.label = NA, edge.label = NA)
(2)Community detection based on based on propagating labels - detects 4 communities, modularity 0.4
clp <- cluster_label_prop(net)
plot(clp, net, vertex.label = NA, edge.label = NA)
(3)Community detection based on greedy optimization of modularity - detects 5 communities, modularity
cfg <- cluster_fast_greedy(as.undirected(net))
plot(cfg, net, vertex.label = NA, edge.label = NA)
In my data I have employees (nodes) who work at 5 different departments. It would make sense to have 5 communities, and the higher modularity (I think) indicates that it is a better measure than the first result (50 communities). But I am really not sure how to interpret such different results. Can anyone shed some light? Thank you very much