View source: R/netclu_leiden.R
| netclu_leiden | R Documentation | 
This function finds communities in a (un)weighted undirected network based on the Leiden algorithm of Traag, van Eck & Waltman.
netclu_leiden(
  net,
  weight = TRUE,
  cut_weight = 0,
  index = names(net)[3],
  seed = NULL,
  objective_function = "CPM",
  resolution_parameter = 1,
  beta = 0.01,
  n_iterations = 2,
  vertex_weights = NULL,
  bipartite = FALSE,
  site_col = 1,
  species_col = 2,
  return_node_type = "both",
  algorithm_in_output = TRUE
)
net | 
 The output object from   | 
weight | 
 A   | 
cut_weight | 
 A minimal weight value. If   | 
index | 
 The name or number of the column to use as weight. By default,
the third column name of   | 
seed | 
 The random number generator seed (NULL for random by default).  | 
objective_function | 
 A string indicating the objective function to use, either the Constant Potts Model ("CPM") or "modularity" ("CPM" by default).  | 
resolution_parameter | 
 The resolution parameter to use. Higher resolutions lead to smaller communities, while lower resolutions lead to larger communities.  | 
beta | 
 A parameter affecting the randomness in the Leiden algorithm. This affects only the refinement step of the algorithm.  | 
n_iterations | 
 The number of iterations for the Leiden algorithm. Each iteration may further improve the partition.  | 
vertex_weights | 
 The vertex weights used in the Leiden algorithm. If not provided, they will be automatically determined based on the objective_function. Please see the details of this function to understand how to interpret the vertex weights.  | 
bipartite | 
 A   | 
site_col | 
 The name or number for the column of site nodes (i.e., primary nodes).  | 
species_col | 
 The name or number for the column of species nodes (i.e., feature nodes).  | 
return_node_type | 
 A   | 
algorithm_in_output | 
 A   | 
This function is based on the Leiden algorithm (Traag et al., 2019) as implemented in the igraph package (cluster_leiden).
A list of class bioregion.clusters with five slots:
name: A character containing the name of the algorithm.
args: A list of input arguments as provided by the user.
inputs: A list of characteristics of the clustering process.
algorithm: A list of all objects associated with the
clustering procedure, such as original cluster objects (only if
algorithm_in_output = TRUE).
clusters: A data.frame containing the clustering results.
In the algorithm slot, if algorithm_in_output = TRUE, users can
find the output of cluster_leiden.
Although this algorithm was not primarily designed to deal with bipartite
networks, it is possible to consider the bipartite network as a unipartite
network (bipartite = TRUE).
Do not forget to indicate which of the first two columns is
dedicated to the site nodes (i.e., primary nodes) and species nodes (i.e.
feature nodes) using the arguments site_col and species_col.
The type of nodes returned in the output can be chosen with the argument
return_node_type equal to "both" to keep both types of nodes,
"site" to preserve only the site nodes, and "species" to
preserve only the species nodes.
Maxime Lenormand (maxime.lenormand@inrae.fr) 
Pierre Denelle (pierre.denelle@gmail.com) 
Boris Leroy (leroy.boris@gmail.com)
Traag VA, Waltman L & Van Eck NJ (2019) From Louvain to Leiden: guaranteeing well-connected communities. Scientific reports 9, 5233.
For more details illustrated with a practical example, see the vignette: https://biorgeo.github.io/bioregion/articles/a4_3_network_clustering.html.
Associated functions: netclu_infomap netclu_louvain netclu_oslom
comat <- matrix(sample(1000, 50), 5, 10)
rownames(comat) <- paste0("Site", 1:5)
colnames(comat) <- paste0("Species", 1:10)
net <- similarity(comat, metric = "Simpson")
com <- netclu_leiden(net)
net_bip <- mat_to_net(comat, weight = TRUE)
clust2 <- netclu_leiden(net_bip, bipartite = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.