I have a large moderately dense network (50k nodes, 300k edges) and want to divide this into few (5-10) communities, based on how densely connected the nodes are.
I've been looking into the algorithms available in R's igraph
-package and while they do what I want in principle, they all seem ill-suited for such large networks (e.g. igraph_community_optimal_modularity
) or they provide no means of pre-specifying the number of communites. Applying those yields way too many communites (e.g., igraph_community_fastgreedy
comes up with 60).
Question: How (ideally with igraph and R) can I divide the graph into a pre-specified small number of communitities, in a computationally effcient way?