# sample_correlated_gnp

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

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. http://arxiv.org/abs/1304.7844

##### See Also

##### Examples

```
# NOT RUN {
g <- sample_gnp(1000, .1)
g2 <- sample_correlated_gnp(g, corr = 0.5)
cor(as.vector(g[]), as.vector(g2[]))
g
g2
# }
```

*Documentation reproduced from package igraph, version 1.0.1, License: GPL (>= 2)*