Use this if you are using igraph from R
Sample a new graph by perturbing the adjacency matrix of a given graph and shuffling its vertices.
sample_correlated_gnp_pair(n, corr, p, directed = FALSE, permutation = NULL)
n |
Numeric scalar, the number of vertices for the sampled graphs. |
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. |
directed |
Logical scalar, whether to generate directed graphs. |
permutation |
A numeric vector, a permutation vector that is applied on
the vertices of the first graph, to get the second graph. If |
Please see the reference given below.
A list of two igraph objects, named graph1
and
graph2
, which are two graphs whose adjacency matrix entries are
correlated with corr
.
Lyzinski, V., Fishkind, D. E., Priebe, C. E. (2013). Seeded graph matching for correlated Erdos-Renyi graphs. https://arxiv.org/abs/1304.7844
sample_correlated_gnp
,
sample_gnp
.
gg <- sample_correlated_gnp_pair(n = 10, corr = .8, p = .5, directed = FALSE) gg cor(as.vector(gg[[1]][]), as.vector(gg[[2]][]))