Description Details References

Provides methods for extracting from a weighted graph a binary or signed backbone that retains only the significant edges. The user may input a weighted graph, or a bipartite graph from which a weighted graph is first constructed via projection. Backbone extraction methods include:

the stochastic degree sequence model (SDSM; 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, Elsevier: 84-97.doi: 10.1016/j.socnet.2014.06.001),

the fixed degree sequence model (FDSM; Zweig, Katharina Anna, and Michael Kaufmann. 2011. “A Systematic Approach to the One-Mode Projection of Bipartite Graphs.” Social Network Analysis and Mining 1 (3): 187–218.doi: 10.1007/s13278-011-0021-0),

the fixed row model (FRM; Neal, Zachary. 2013. “Identifying Statistically Significant Edges in One-Mode Projections.” Social Network Analysis and Mining 3 (4). Springer: 915–24.doi: 10.1007/s13278-013-0107-y),

the fixed column model (FCM; Neal, Domagalski, and Sagan. 2021. "Comparing Models for Extracting the Backbone of Bipartite Projections." arXiv:2105.13396 cs.SI),

the fixed fill model (FFM; Neal, Domagalski, and Sagan. 2021. "Comparing Models for Extracting the Backbone of Bipartite Projections." arXiv:2105.13396 cs.SI),

and a universal threshold method.

To decide whether an edge of a bipartite projection *B*t(B)* is statistically significant, we compare the edge's observed weight to the distribution of weights expected in a projection obtained from a random bipartite graph under a null model.
Given a null model that can generate a distribution of an edge's weights, we can then compute the probability that the observed weight is in the upper or lower tail of that distribution.
The 'backbone' package provides several different null models to use, all of which define different constraints on the row degrees and column degrees of a random bipartite graph in their corresponding distribution.

'

`sdsm`

': computes the probability of edge weights being above or below the observed edge weights in a bipartite projection using the stochastic degree sequence model. Here the expected row and column degrees of a random bipartite graph in the distribution match that of the original bipartite graph.'

`fixedrow`

': computes the probability of edge weights being above or below the observed edge weights in a bipartite projection using the hypergeometric model. Here the row degrees of a random bipartite graph in the distribution exactly match that of the original bipartite graph. The column degrees are allowed to vary.'

`fixedcol`

': computes the probability of edge weights being above or below the observed edge weights in a bipartite projection using the Poisson binomial model. Here the column degrees of a random bipartite graph in the distribution exactly match that of the original bipartite graph. The row degrees are allowed to vary.'

`fdsm`

': computes the proportion of edge weights above or below the observed edge weights in a bipartite projection using the fixed degree sequence model. Here the row and column degrees of a random bipartite graph in the distribution exactly match that of the original bipartite graph.'

`fixedfill`

':computes the probability of edge weights being above or below the observed edge weights in a bipartite projection where the number of edges in a random bipartite graph of the distribution exactly match the number of edges of the original bipartite graph.

Once one of these models is computed, use `backbone.extract`

to return the backbone graph for a chosen alpha value.

In addition to these methods, one can also use `universal`

to return a backbone graph in which edge weights
are set to 1 if above the given upper parameter threshold,
and set to -1 if below the given lower parameter threshold, and are 0 otherwise.

Additional functions that aid in the use of the above models are exported:

'

`bicm`

': finds a matrix that maximizes the entropy function, used in`sdsm`

.'

`curveball`

': generates a random 0/1 matrix with the same row and column sums as the input, used in`fdsm`

.

For additional documentation and background on the package functions, see `vignette("backbone", package = "backbone")`

.
For updates, papers, presentations, and other backbone news, please see www.rbackbone.net

Domagalski, R., Neal, Z. P., and Sagan, B. (2021). backbone: An R Package for Backbone Extraction of Weighted Graphs. PLoS ONE. doi: 10.1371/journal.pone.0244363

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.