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 = NULL,
steps = 4,
merges = TRUE,
modularity = TRUE,
membership = TRUE
)
cluster_walktrap
returns a communities
object, please see the communities
manual page for details.
The input graph, edge directions are ignored in directed graphs.
The weights of the edges. It must be a positive numeric vector,
NULL
or NA
. If it is NULL
and the input graph has a
‘weight’ edge attribute, then that attribute will be used. If
NULL
and no such attribute is present, then the edges will have equal
weights. Set this to NA
if the graph was a ‘weight’ edge
attribute, but you don't want to use it for community detection. 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.
The length of the random walks to perform.
Logical scalar, whether to include the merge matrix in the result.
Logical scalar, whether to include the vector of the
modularity scores in the result. If the membership
argument is true,
then it will always be calculated.
Logical scalar, whether to calculate the membership vector for the split corresponding to the highest modularity value.
Pascal Pons (http://psl.pons.free.fr/) and Gabor Csardi csardi.gabor@gmail.com for the R and igraph interface
This function is the implementation of the Walktrap community finding algorithm, see Pascal Pons, Matthieu Latapy: Computing communities in large networks using random walks, https://arxiv.org/abs/physics/0512106
Pascal Pons, Matthieu Latapy: Computing communities in large networks using random walks, https://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
, cluster_louvain
,
and cluster_leiden
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)
Run the code above in your browser using DataLab