global {backbone}R Documentation

Compute global threshold backbone


global extracts the backbone of a weighted network using a global threshold


  upper = 0,
  lower = NULL,
  keepzeros = TRUE,
  class = "original",
  narrative = FALSE



A weighted unipartite graph, as: (1) an adjacency matrix in the form of a matrix or sparse Matrix, or dataframe; (2) an edgelist in the form of a three-column dataframe; (3) an igraph object.


real, FUN, or NULL: upper threshold value or function that evaluates to an upper threshold value.


real, FUN, or NULL: lower threshold value or function that evaluates to a lower threshold value.


boolean: TRUE if zero-weight edges in W should be excluded from (i.e. also be zero in) the backbone


string: the class of the returned backbone graph, one of c("original", "matrix", "Matrix", "igraph", "edgelist"). If "original", the backbone graph returned is of the same class as W.


boolean: TRUE if suggested text & citations should be displayed.


The global function retains a edge with weight W if W > upper. If a lower threshold is also specified, it returns a signed backbone in which an edge's weight is set to 1 if W > upper, is set to -1 if W < lower, and is set to 0 otherwise. The default is an unsigned backbone containing all edges with non-zero weights.

If G is an unweighted bipartite graph, the global threshold is applied to its weighted bipartite projection.


Binary or signed backbone graph of class given in parameter class.


package: Neal, Z. P. (2022). backbone: An R Package to Extract Network Backbones. PLOS ONE, 17, e0269137. doi:10.1371/journal.pone.0269137

model: Neal, Z. P. (2014). The backbone of bipartite projections: Inferring relationships from co-authorship, co-sponsorship, co-attendance, and other co-behaviors. Social Networks, 39, 84-97. doi:10.1016/j.socnet.2014.06.001


G <- matrix(sample(0:5, 100, replace = TRUE), 10) #Random weighted graph
diag(G) <- 0
global(G, narrative = TRUE)  #Keep all non-zero edges
global(G, upper = 4, lower = 2, narrative = TRUE)  #Signed with specified thresholds
global(G, upper = function(x)mean(x),  #Above-average --> positive edges
          lower = function(x)mean(x), narrative = TRUE)  #Below-average --> negative edges

[Package backbone version 2.1.4 Index]