Use this if you are using igraph from R
Sampling from the stochastic block model of networks
sample_sbm(n, pref.matrix, block.sizes, directed = FALSE, loops = FALSE) sbm(...)
n | 
 Number of vertices in the graph.  | 
pref.matrix | 
 The matrix giving the Bernoulli rates. 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.  | 
block.sizes | 
 Numeric vector giving the number of vertices in each group. The sum of the vector must match the number of vertices.  | 
directed | 
 Logical scalar, whether to generate a directed graph.  | 
loops | 
 Logical scalar, whether self-loops are allowed in the graph.  | 
... | 
 Passed to   | 
This function samples graphs from a stochastic block model by (doing the
equivalent of) Bernoulli trials for each potential edge with the
probabilities given by the Bernoulli rate matrix, pref.matrix.
An igraph graph.
Gabor Csardi csardi.gabor@gmail.com
Faust, K., & Wasserman, S. (1992a). Blockmodels: Interpretation and evaluation. Social Networks, 14, 5–61.
## Two groups with not only few connection between groups pm <- cbind( c(.1, .001), c(.001, .05) ) g <- sample_sbm(1000, pref.matrix=pm, block.sizes=c(300,700)) g