
Last chance! 50% off unlimited learning
Sale ends in
fixedfill
extracts the backbone of a bipartite projection using the Fixed Fill Model.
fixedfill(
B,
alpha = 0.05,
signed = FALSE,
mtc = "none",
class = "original",
narrative = FALSE
)
If alpha
!= NULL: Binary or signed backbone graph of class class
.
If alpha
== NULL: An S3 backbone object containing three matrices (the weighted graph, edges' upper-tail p-values,
edges' lower-tail p-values), and a string indicating the null model used to compute p-values, from which a backbone
can subsequently be extracted using backbone.extract()
. The signed
, mtc
, class
, and narrative
parameters
are ignored.
An unweighted bipartite graph, as: (1) an incidence matrix in the form of a matrix or sparse Matrix
; (2) an edgelist in the form of a two-column dataframe; (3) an igraph
object.
Any rows and columns of the associated bipartite matrix that contain only zeros or only ones are automatically removed before computations.
real: significance level of hypothesis test(s)
boolean: TRUE for a signed backbone, FALSE for a binary backbone (see details)
string: type of Multiple Test Correction to be applied; can be any method allowed by p.adjust
.
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 B
.
boolean: TRUE if suggested text & citations should be displayed.
The fixedfill
function compares an edge's observed weight in the projection NaN
values.
When signed = FALSE
, a one-tailed test (is the weight stronger) is performed for each edge with a non-zero weight. It
yields a backbone that perserves edges whose weights are significantly stronger than expected under the null
model. When signed = TRUE
, a two-tailed test (is the weight stronger or weaker) is performed for each every pair of nodes.
It yields a backbone that contains positive edges for edges whose weights are significantly stronger, and
negative edges for edges whose weights are significantly weaker, than expected in the chosen null model.
NOTE: Before v2.0.0, all significance tests were two-tailed and zero-weight edges were evaluated.
package: Neal, Z. P. (2022). backbone: An R Package to Extract Network Backbones. PLOS ONE, 17, e0269137. tools:::Rd_expr_doi("10.1371/journal.pone.0269137")
fixedfill: Neal, Z. P., Domagalski, R., and Sagan, B. (2021). Comparing Alternatives to the Fixed Degree Sequence Model for Extracting the Backbone of Bipartite Projections. Scientific Reports, 11, 23929. tools:::Rd_expr_doi("10.1038/s41598-021-03238-3")
#A binary bipartite network of 30 agents & 75 artifacts; agents form three communities
B <- rbind(cbind(matrix(rbinom(250,1,.8),10),
matrix(rbinom(250,1,.2),10),
matrix(rbinom(250,1,.2),10)),
cbind(matrix(rbinom(250,1,.2),10),
matrix(rbinom(250,1,.8),10),
matrix(rbinom(250,1,.2),10)),
cbind(matrix(rbinom(250,1,.2),10),
matrix(rbinom(250,1,.2),10),
matrix(rbinom(250,1,.8),10)))
P <- B%*%t(B) #An ordinary weighted projection...
plot(igraph::graph_from_adjacency_matrix(P, mode = "undirected",
weighted = TRUE, diag = FALSE)) #...is a dense hairball
bb <- fixedfill(B, alpha = 0.05, narrative = TRUE, class = "igraph") #A fixedfill backbone...
plot(bb) #...is sparse with clear communities
Run the code above in your browser using DataLab