Community structure via greedy optimization of modularity
This function tries to find dense subgraph, also called communities in graphs via directly optimizing a modularity score.
fastgreedy.community(graph, merges=TRUE, modularity=TRUE)
- The input graph
- Logical scalar, whether to return the merge matrix.
- Logcal scalar, whether to return a vector containing the modularity after each merge.
This function implements the fast greedy modularity optimization algorithm for finding community structure, see A Clauset, MEJ Newman, C Moore: Finding community structure in very large networks, http://www.arxiv.org/abs/cond-mat/0408187 for the details.
- A named list with the following members:
N) minus one belong to individual vertices. The first line of the matrix gives the first merge, this merge creates community
N, the number of vertices, the second merge creates community
N+1, etc. }
modularity A numeric vector containing the modularity value of the community structure after performing every merge.
A Clauset, MEJ Newman, C Moore: Finding community structure in very large networks, http://www.arxiv.org/abs/cond-mat/0408187
g <- graph.full(5) %du% graph.full(5) %du% graph.full(5) g <- add.edges(g, c(0,5, 0,10, 5, 10)) fastgreedy.community(g) # The highest value of modularity is before performing the last two # merges. So this network naturally has three communities.