This function generates two samples of networks according to the stochastic
block model (SBM). This is essentially a wrapper around
sample_sbm
which allows to sample a single network from
the SBM.
Arguments
- n
Integer scalar giving the sample size.
- nv
Integer scalar giving the number of vertices of the generated networks, common to all networks in both samples.
- p1
The matrix giving the Bernoulli rates for the 1st sample. This is a KxK matrix, where K is the number of groups. The probability of creating an edge between vertices from groups i and j is given by element (i,j). For undirected graphs, this matrix must be symmetric.
- b1
Numeric vector giving the number of vertices in each group for the first sample. The sum of the vector must match the number of vertices.
- p2
The matrix giving the Bernoulli rates for the 2nd sample (default: same as 1st sample). This is a KxK matrix, where K is the number of groups. The probability of creating an edge between vertices from groups i and j is given by element (i,j). For undirected graphs, this matrix must be symmetric.
- b2
Numeric vector giving the number of vertices in each group for the second sample (default: same as 1st sample). The sum of the vector must match the number of vertices.
- seed
The seed for the random number generator (default:
NULL
).
Value
A length-2 list containing the two samples stored as
nvd
objects.
Examples
n <- 10
p1 <- matrix(
data = c(0.1, 0.4, 0.1, 0.4,
0.4, 0.4, 0.1, 0.4,
0.1, 0.1, 0.4, 0.4,
0.4, 0.4, 0.4, 0.4),
nrow = 4,
ncol = 4,
byrow = TRUE
)
p2 <- matrix(
data = c(0.1, 0.4, 0.4, 0.4,
0.4, 0.4, 0.4, 0.4,
0.4, 0.4, 0.1, 0.1,
0.4, 0.4, 0.1, 0.4),
nrow = 4,
ncol = 4,
byrow = TRUE
)
sim <- sample2_sbm(n, 68, p1, c(17, 17, 17, 17), p2, seed = 1234)