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 ce1fdbe U--- 10 22 --
#> + edges from ce1fdbe:
#> [1] 2-- 3 1-- 4 3-- 4 3-- 5 4-- 5 1-- 6 3-- 6 4-- 6 5-- 6 2-- 7 5-- 7 6-- 7
#> [13] 2-- 8 3-- 8 4-- 8 6-- 8 3-- 9 2--10 3--10 5--10 6--10 8--10
#>
#> $graph2
#> IGRAPH a2b293c U--- 10 25 --
#> + edges from a2b293c:
#> [1] 2-- 3 1-- 4 3-- 4 3-- 5 4-- 5 1-- 6 3-- 6 4-- 6 5-- 6 2-- 7 4-- 7 5-- 7
#> [13] 6-- 7 1-- 8 2-- 8 3-- 8 4-- 8 6-- 8 3-- 9 1--10 2--10 3--10 5--10 6--10
#> [25] 8--10
#>
cor(as.vector(gg[[1]][]), as.vector(gg[[2]][]))
#> [1] 0.8864053