`hyperg` computes the probability of observing
a higher or lower edge weight using the hypergeometric distribution.
Once computed, use backbone.extract
to return
the backbone matrix for a given alpha value.
hyperg(B)
graph: Bipartite graph object of class matrix, sparse matrix, igraph, edgelist, or network object.
backbone, a list(positive, negative, summary). Here `positive` is a matrix of probabilities of edge weights being equal to or above the observed value in the projection, `negative` is a matrix of probabilities of edge weights being equal to or below the observed value in the projection, and `summary` is a data frame summary of the inputted matrix and the model used including: model name, number of rows, skew of row sums, number of columns, skew of column sums, and running time.
Specifically, this function compares an edge's observed weight in the projection \(B*t(B)\) to the distribution of weights expected in a projection obtained from a random bipartite graph where the row vertex degrees are fixed but the column vertex degrees are allowed to vary.
The "backbone" S3 class object returned is composed of two matrices, a summary dataframe and (optionally, if generated by using fdsm) a 'dyad_values' vector.
# NOT RUN {
hyperg_probs <- hyperg(davis)
# }
Run the code above in your browser using DataLab