igraph (version 0.5.5-2)

walktrap.community: Community strucure via short random walks

Description

This function tries to find densely connected subgraphs, also called communities in a graph via random walks. The idea is that short random walks tend to stay in the same community.

Usage

walktrap.community(graph, weights = E(graph)$weight, steps = 4, merges =
          TRUE, modularity = TRUE, labels = TRUE, membership = TRUE)

Arguments

graph
The input graph, edge directions are ignored in directed graphs.
weights
The edge weights.
steps
The length of the random walks to perform.
merges
Logical scalar, whether to include the merge matrix in the result.
modularity
Logical scalar, whether to include the vector of the modularity scores in the result. If the membership argument is true, then it will be always calculated.
labels
Logical scalar, if TRUE and the graph has a vertex attribute called name then it will be included in the result, in the list member called labels.
membership
Logical scalar, whether to calculate the membership vector for the split corresponding to the highest modularity value.

Value

  • A named list with three members:
  • mergesThe merges performed by the algorithm will be stored here. Each merge is a row in a two-column matrix and contains the ids of the merged communities. Communities are numbered from zero and cluster number smaller than the number of nodes in the network belong to the individual vertices as singleton communities. In each step a new community is created from two other communities and its id will be one larger than the largest community id so far. This means that before the first merge we have n communities (the number of vertices in the graph) numbered from zero to n-1. The first merge created community n, the second community n+1, etc.
  • modularityNumeric vector, the modularity score of the current community structure after each merge operation.
  • labelsThe labels of the vertices in the graph. The name vertex attribute will be copied here, if exists.
  • membershipIf requested, then the membership vector that belongs to the best split, in terms of highest modularity score.

concept

  • Random walk
  • Community structure

Details

This function is the implementation of the Walktrap community finding algorithm, see Pascal Pons, Matthieu Latapy: Computing communities in large networks using random walks, http://arxiv.org/abs/physics/0512106

References

Pascal Pons, Matthieu Latapy: Computing communities in large networks using random walks, http://arxiv.org/abs/physics/0512106

See Also

modularity and fastgreedy.community, spinglass.community, leading.eigenvector.community, edge.betweenness.community for other community detection methods.

Examples

Run this code
g <- graph.full(5) %du% graph.full(5) %du% graph.full(5)
g <- add.edges(g, c(0,5, 0,10, 5, 10))
walktrap.community(g)

Run the code above in your browser using DataCamp Workspace