fastgreedy.community {igraph}R Documentation

Community structure via greedy optimization of modularity

Description

This function tries to find dense subgraph, also called communities in graphs via directly optimizing a modularity score.

Usage

fastgreedy.community(graph, merges=TRUE, modularity=TRUE,
      weights=E(graph)$weight)

Arguments

graph The input graph
merges Logical scalar, whether to return the merge matrix.
modularity Logcal scalar, whether to return a vector containing the modularity after each merge.
weights If not NULL, then a numeric vector of edge weights. The length must match the number of edges in the graph. By default the ‘weight’ edge attribute is used as weights. If it is not present, then all edges are considered to have the same weight.

Details

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.

Value

A named list with the following members:

merges A matrix with two column, this represents a dendogram and contains all the merges the algorithm performed. Each line is one merge and it is given by the ids of the two communities merged. The community ids are integer numbers starting from zero and the communities between zero and the number of vertices (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.

Author(s)

Tamas Nepusz ntamas@rmki.kfki.hu and Gabor Csardi csardi@rmki.kfki.hu for the R interface.

References

A Clauset, MEJ Newman, C Moore: Finding community structure in very large networks, http://www.arxiv.org/abs/cond-mat/0408187

See Also

walktrap.community, spinglass.community, leading.eigenvector.community, edge.betweenness.community

Examples

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.

[Package igraph version 0.5.2 Index]