跳到内容

从网络的随机块模型中采样

用法

sample_sbm(n, pref.matrix, block.sizes, directed = FALSE, loops = FALSE)

sbm(...)

参数

n

图中顶点的数量。

pref.matrix

给出伯努利概率的矩阵。这是一个 \(K\times K\) 矩阵,其中 \(K\) 是组的数量。从组 \(i\) 和 \(j\) 中的顶点创建边的概率由元素 \((i,j)\) 给出。对于无向图,此矩阵必须是对称的。

block.sizes

数值向量,给出每组中的顶点数。向量的总和必须与顶点数匹配。

directed

逻辑标量,是否生成有向图。

loops

逻辑标量,是否允许图中的自环。

...

传递给 sample_sbm()

一个 igraph 图。

详细信息

此函数通过(等效于)对每个潜在边进行伯努利试验,从随机块模型中对图进行采样,概率由伯努利概率矩阵 pref.matrix 给出。生成的图中顶点的顺序对应于 block.sizes 参数。

参考文献

Faust, K., & Wasserman, S. (1992a). Blockmodels: Interpretation and evaluation. Social Networks, 14, 5–61.

作者

Gabor Csardi csardi.gabor@gmail.com

sbm_game().

示例


## 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
#> IGRAPH 0c86f44 U--- 1000 17014 -- Stochastic block model
#> + attr: name (g/c), loops (g/l)
#> + edges from 0c86f44:
#>  [1]  3-- 7  4-- 7  2-- 8  3--10  1--11  3--11  7--11 10--11  2--12  5--12
#> [11]  7--13  7--14  9--15  5--16  8--16  3--18 15--18  3--19  8--20  3--21
#> [21] 10--21 15--21  3--22  7--22 22--23  1--24  4--24  5--25 12--25 23--25
#> [31]  1--26 11--26 15--26 18--26 22--26  9--27 14--27 11--28  2--29 11--29
#> [41]  4--30 10--30 13--30 29--30  7--31 15--31  8--32  2--33  4--33 23--33
#> [51]  5--35 29--35 16--36 22--36 32--36 34--36  9--37 20--37 31--37  6--38
#> [61]  9--38 21--38  4--39  8--39 16--39 30--40 35--40  4--41  5--41 14--41
#> [71] 23--41 25--41 32--41 40--41  1--42 14--42 25--42 13--43 14--43 17--43
#> + ... omitted several edges