Use this if you are using igraph from R
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.
cluster_walktrap( graph, weights = E(graph)$weight, steps = 4, merges = TRUE, modularity = TRUE, membership = TRUE )
graph |
The input graph, edge directions are ignored in directed graphs. |
weights |
The edge weights. Larger edge weights increase the probability that an edge is selected by the random walker. In other words, larger edge weights correspond to stronger connections. |
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 |
Logical scalar, whether to calculate the membership vector for the split corresponding to the highest modularity value. |
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
cluster_walktrap
returns a communities
object, please see the communities
manual page for details.
Pascal Pons (http://psl.pons.free.fr/) and Gabor Csardi csardi.gabor@gmail.com for the R and igraph interface
Pascal Pons, Matthieu Latapy: Computing communities in large networks using random walks, http://arxiv.org/abs/physics/0512106
See communities
on getting the actual membership
vector, merge matrix, modularity score, etc.
modularity
and cluster_fast_greedy
,
cluster_spinglass
,
cluster_leading_eigen
,
cluster_edge_betweenness
for other community detection
methods.
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_walktrap(g)