# Sample a pair of correlated \(G(n,p)\) random graphs

Source:`R/games.R`

`sample_correlated_gnp_pair.Rd`

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

## Arguments

- 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

`NULL`

, the vertices are not permuted.

## Value

A list of two igraph objects, named `graph1`

and
`graph2`

, which are two graphs whose adjacency matrix entries are
correlated with `corr`

.

## References

Lyzinski, V., Fishkind, D. E., Priebe, C. E. (2013). Seeded graph matching for correlated Erdős-Rényi graphs. https://arxiv.org/abs/1304.7844

## See also

Random graph models (games)
`erdos.renyi.game()`

,
`sample_()`

,
`sample_bipartite()`

,
`sample_chung_lu()`

,
`sample_correlated_gnp()`

,
`sample_degseq()`

,
`sample_dot_product()`

,
`sample_fitness()`

,
`sample_fitness_pl()`

,
`sample_forestfire()`

,
`sample_gnm()`

,
`sample_gnp()`

,
`sample_grg()`

,
`sample_growing()`

,
`sample_hierarchical_sbm()`

,
`sample_islands()`

,
`sample_k_regular()`

,
`sample_last_cit()`

,
`sample_pa()`

,
`sample_pa_age()`

,
`sample_pref()`

,
`sample_sbm()`

,
`sample_smallworld()`

,
`sample_traits_callaway()`

,
`sample_tree()`

## Examples

```
gg <- sample_correlated_gnp_pair(
n = 10, corr = .8, p = .5,
directed = FALSE
)
gg
#> $graph1
#> IGRAPH 80c4f34 U--- 10 18 --
#> + edges from 80c4f34:
#> [1] 2-- 3 1-- 5 3-- 5 2-- 6 3-- 6 4-- 6 5-- 6 2-- 7 3-- 7 5-- 7 2-- 8 3-- 8
#> [13] 3-- 9 4-- 9 5-- 9 3--10 4--10 5--10
#>
#> $graph2
#> IGRAPH b3b919b U--- 10 19 --
#> + edges from b3b919b:
#> [1] 2-- 3 1-- 5 3-- 5 4-- 5 2-- 6 3-- 6 4-- 6 5-- 6 2-- 7 5-- 7 2-- 8 3-- 8
#> [13] 5-- 8 3-- 9 4-- 9 5-- 9 3--10 4--10 5--10
#>
cor(as.vector(gg[[1]][]), as.vector(gg[[2]][]))
#> [1] 0.8721573
```