cluster_louvain {igraph} | R Documentation

## Finding community structure by multi-level optimization of modularity

### Description

This function implements the multi-level modularity optimization algorithm for finding community structure, see references below. It is based on the modularity measure and a hierarchial approach.

### Usage

    cluster_louvain(graph, weights = NULL)

### Arguments

`graph` | The input graph.
`weights` | Optional positive weight vector. If the graph has a `weight` edge attribute, then this is used by default. Supply `NA` here if the graph has a `weight` edge attribute, but you want to ignore it. Larger edge weights correspond to stronger connections.

### Details

This function implements the multi-level modularity optimization algorithm for finding community structure, see VD Blondel, J-L Guillaume, R Lambiotte and E Lefebvre: Fast unfolding of community hierarchies in large networks, http://arxiv.org/abs/arXiv:0803.0476 for the details.

It is based on the modularity measure and a hierarchial approach. Initially, each vertex is assigned to a community on its own. In every step, vertices are re-assigned to communities in a local, greedy way: each vertex is moved to the community with which it achieves the highest contribution to modularity. When no vertices can be reassigned, each community is considered a vertex on its own, and the process starts again with the merged communities. The process stops when there is only a single vertex left or when the modularity cannot be increased any more in a step.

This function was contributed by Tom Gregorovic.

### Value

`cluster_louvain` returns a `communities` object, please see the `communities` manual page for details.

### Author(s)

Tom Gregorovic, Tamas Nepusz ntamas@gmail.com

### References

Vincent D. Blondel, Jean-Loup Guillaume, Renaud Lambiotte, Etienne Lefebvre: Fast unfolding of communities in large networks. J. Stat. Mech. (2008) P10008

### See Also

See `communities` for extracting the membership, modularity scores, etc. from the results.

Other community detection algorithms: `cluster_walktrap`, `cluster_spinglass`, `cluster_leading_eigen`, `cluster_edge_betweenness`, `cluster_fast_greedy`, `cluster_label_prop`

### Examples

    # This is so simple that we will have only one level
    g <- make_full_graph(5) %du% make_full_graph(5) %du% make_full_graph(5)
    g <- add_edges(g, c(1,6, 1,11, 6, 11))
    cluster_louvain(g)

[Package igraph version 1.1.2 Index]