incidence.from.distribution: Generates an incidence matrix with row and column sums that...

View source: R/incidence.from.distribution.R

incidence.from.distributionR Documentation

Generates an incidence matrix with row and column sums that follow given distributions

Description

incidence.from.distribution generates a random incidence matrix with row and column sums that approximately follow beta distributions with given parameters.

Usage

incidence.from.distribution(
  R,
  C,
  P,
  rowdist = c(1, 1),
  coldist = c(1, 1),
  class = "matrix",
  narrative = TRUE
)

Arguments

R

integer: number of rows

C

integer: number of columns

P

numeric: probability that a cell contains a 1

rowdist

vector length 2: Row marginals will approximately follow a Beta(a,b) distribution

coldist

vector length 2: Column marginals will approximately follow a Beta(a,b) distribution

class

string: the class of the returned backbone graph, one of c("matrix", "Matrix", "igraph").

narrative

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

Value

An incidence matrix of class matrix or Matrix, or a bipartite graph of class igraph.

References

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. doi: 10.1038/s41598-021-03238-3

Neal, Z. P. 2022. incidentally: An R package to generate incidence matrices and bipartite graphs. OSF Preprints doi: 10.31219/osf.io/ectms

Examples

I <- incidence.from.distribution(R = 100, C = 100, P = 0.1,
     rowdist = c(10000,10000), coldist = c(10000,10000))  #Constant
I <- incidence.from.distribution(R = 100, C = 100, P = 0.1,
     rowdist = c(1,1), coldist = c(1,1))  #Uniform
I <- incidence.from.distribution(R = 100, C = 100, P = 0.1,
     rowdist = c(1,10), coldist = c(1,10))  #Right-tailed
I <- incidence.from.distribution(R = 100, C = 100, P = 0.1,
     rowdist = c(10,1), coldist = c(10,1))  #Left-tailed
I <- incidence.from.distribution(R = 100, C = 100, P = 0.1,
     rowdist = c(10,10), coldist = c(10,10),
     narrative = TRUE)  #Normal

incidentally documentation built on Feb. 16, 2023, 6:04 p.m.