# R igraph manual pages

Use this if you are using igraph from R

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

### See Also

`sample_correlated_gnp_pair`, `sample_gnp`

### Examples

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

[Package igraph version 1.2.4.1 Index]