Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

sample_correlated_gnp

Generate a new random graph from a given graph by randomly adding/removing edges


Description

Sample a new graph by perturbing the adjacency matrix of a given graph and shuffling its vertices.

Usage

sample_correlated_gnp(old.graph, corr, p = old.graph$p, permutation = NULL)

Arguments

old.graph

The original graph.

corr

A scalar in the unit interval, the target Pearson correlation between the adjacency matrices of the original the generated graph (the adjacency matrix being used as a vector).

p

A numeric scalar, the probability of an edge between two vertices, it must in the open (0,1) interval.

permutation

A numeric vector, a permutation vector that is applied on the vertices of the first graph, to get the second graph. If NULL, the vertices are not permuted.

Details

Please see the reference given below.

Value

An unweighted graph of the same size as old.graph such that the correlation coefficient between the entries of the two adjacency matrices is corr. Note each pair of corresponding matrix entries is a pair of correlated Bernoulli random variables.

References

Lyzinski, V., Fishkind, D. E., Priebe, C. E. (2013). Seeded graph matching for correlated Erdos-Renyi graphs. https://arxiv.org/abs/1304.7844

See Also

Examples

g <- sample_gnp(1000, .1)
g2 <- sample_correlated_gnp(g, corr = 0.5)
cor(as.vector(g[]), as.vector(g2[]))
g
g2

igraph

Network Analysis and Visualization

v1.2.10
GPL (>= 2)
Authors
See AUTHORS file.
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.