Learn R Programming

brainGraph (version 2.2.0)

RandomGraphs: Simulate N random graphs w/ same clustering and degree sequence as the input.

Description

sim.rand.graph.par simulates N simple random graphs with the same clustering (optional) and degree sequence as the input. Essentially a wrapper for sample_degseq (or, if you want to match by clustering, sim.rand.graph.clust) and set_brainGraph_attr. It uses foreach for parallel processing.

sim.rand.graph.clust simulates a random graph with a given degree sequence and clustering coefficient. Increasing the max.iters value will result in a closer match of clustering with the observed graph.

Usage

sim.rand.graph.par(g, N = 100, clustering = FALSE, ...)

sim.rand.graph.clust(g, rewire.iters = 10000, cl = g$transitivity, max.iters = 100)

Arguments

g

An igraph graph object

N

Integer; the number of random graphs to simulate (default: 100)

clustering

Logical; whether or not to control for clustering (default: FALSE)

...

Other parameters (passed to sim.rand.graph.clust)

rewire.iters

Integer; number of rewiring iterations for the initial graph randomization (default: 1e4)

cl

The clustering measure (default: transitivity)

max.iters

The maximum number of iterations to perform; choosing a lower number may result in clustering that is further away from the observed graph's (default: 100)

Value

sim.rand.graph.par - a list of N random graphs with some additional vertex and graph attributes

sim.rand.graph.clust - A single igraph graph object

Details

If you do not want to match by clustering, then simple rewiring of the input graph is performed (the number of rewire's equaling the larger of 1e4 and \(10 \times m\), where \(m\) is the graph's edge count).

References

Bansal S., Khandelwal S., Meyers L.A. (2009) Exploring biological network structure with clustered random networks. BMC Bioinformatics, 10:405-421.

See Also

rewire, sample_degseq, keeping_degseq

transitivity

Other Random graph functions: RichClub, analysis_random_graphs

Examples

Run this code
# NOT RUN {
rand1 <- sim.rand.graph.par(g[[1]][[N]], N=1e3)
rand1.cl <- sim.rand.graph.par(g[[1]][[N]], N=1e2,
  clustering=T, max.iters=1e3)
# }

Run the code above in your browser using DataLab