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`

argument is true,
then it will be always calculated.

membership

Logical scalar, whether to calculate the membership vector for the split corresponding to the highest modularity value.

`cluster_walktrap`

returns a `communities`

object, please see the `communities`

manual page for 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, 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`

for other community detection
methods.

# NOT RUN { 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) # }