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