如何在R中模拟具有分类性或同源性的图?

如何在R中模拟具有分类性或同源性的图?,r,igraph,R,Igraph,在R中,我目前正在使用包igraph。我想知道是否有任何方法可以模拟具有同源或分类结构的图——或者其他R包是否允许这样做。谢谢 你看过包裹了吗?使用指数随机图模型,您可以模拟带有节点匹配项的分类网络。有关术语的说明,请参见?“ergm术语” library(ergm) test.net = as.network(matrix(0,10,10), directed = F) #10-node network test.net%v%"class" = sample(c('1','2'), 10,

R
中,我目前正在使用包
igraph
。我想知道是否有任何方法可以模拟具有同源或分类结构的图——或者其他
R
包是否允许这样做。谢谢

你看过包裹了吗?使用指数随机图模型,您可以模拟带有
节点匹配项的分类网络。有关术语的说明,请参见
?“ergm术语”

library(ergm)

test.net = as.network(matrix(0,10,10), directed = F) #10-node network
test.net%v%"class" = sample(c('1','2'), 10, replace = T) #nodal attribute
simulate
(或
simulate.formula
)在节点属性上具有控制密度(
)的术语和控制同质性(
节点匹配
)的术语的网络:

test.sim = simulate(test.net ~ edges + nodematch("class"), coef = c(-1, 4))
plot(test.sim, vertex.col = as.numeric(test.net%v%"class"), vertex.cex = 2)

您可以使用软件包中的
asIgraph
将网络移回igraph。

您是否尝试过
sample\u pa
和/或
sample\u smallworld
?或者通常是图形生成器,它们是以
游戏
结尾的函数?您知道有任何随机块模型公式吗?抱歉,我甚至不知道它们是什么!谢谢节点属性
test.net%v%“class”
究竟是什么?使用的是协变量(如1=男性,2=女性)还是类别成员?我还想知道您是如何决定使用
coef=c(-1,4)
的,这意味着什么?谢谢本例中的节点属性是分配给节点的随机分类变量。(如果根据数据分配)它可以表示1=男性,2=女性。Coef(-1,4)在图中表示边上的系数-1,这使图的密度保持较低,而在“类”变量的同态上表示系数4,这意味着大多数边将出现在1或2之间。你可以在情节中看到这一点。