Title: | Disparity Filter Algorithm for Weighted Networks |
---|---|
Description: | The disparity filter algorithm is a network reduction technique to identify the 'backbone' structure of a weighted network without destroying its multi-scale nature. The algorithm was developed by M. Angeles Serrano, Marian Boguna and Alessandro Vespignani in "Extracting the multiscale backbone of complex weighted networks", Proceedings of the National Academy of Sciences 106 (16), 2009. This implementation of the algorithm supports both directed and undirected networks. |
Authors: | Alessandro Bessi [aut, cre], Francois Briatte [aut] |
Maintainer: | Alessandro Bessi <[email protected]> |
License: | GPL (>= 2) |
Version: | 2.2.0 |
Built: | 2025-02-25 05:01:14 UTC |
Source: | https://github.com/alessandrobessi/disparityfilter |
Given a weighted graph, backbone
identifies the 'backbone structure'
of the graph, using the disparity filter algorithm by Serrano et al. (2009).
backbone(graph, weights = E(graph)$weight, directed = is_directed(graph), alpha = 0.05)
backbone(graph, weights = E(graph)$weight, directed = is_directed(graph), alpha = 0.05)
graph |
The input graph. |
weights |
A numeric vector of edge weights, which defaults to
|
directed |
The directedness of the graph, which defaults to the result
of |
alpha |
The significance level under which to preserve the edges, which
defaults to |
An edge list corresponding to the 'backbone' of the graph, i.e. the edges of the initial graph that were preserved by the null model that the disparity filter algorithm implements.
Serrano et al. (2009); R implementation by Alessandro Bessi and Francois Briatte
Serrano, M.A., Boguna, M. and Vespignani, A. (2009). Extracting the multiscale backbone of complex weighted networks. Proceedings of the National Academy of Sciences 106, 6483-6488.
# undirected network g <- sample_pa(n = 250, m = 5, directed = FALSE) E(g)$weight <- sample(1:25, ecount(g), replace = TRUE) backbone(g) # directed network g <- sample_pa(n = 250, m = 5, directed = TRUE) E(g)$weight <- sample(1:25, ecount(g), replace = TRUE) backbone(g)
# undirected network g <- sample_pa(n = 250, m = 5, directed = FALSE) E(g)$weight <- sample(1:25, ecount(g), replace = TRUE) backbone(g) # directed network g <- sample_pa(n = 250, m = 5, directed = TRUE) E(g)$weight <- sample(1:25, ecount(g), replace = TRUE) backbone(g)