在ergm
andlatentnet
包中,它们允许我们输入网络并指定协变量。然后,我们可以添加同质性和聚类等效果(在latentnet
包中)。这里似乎有两个应用程序分支:
1) 拥有现有的数据/网络,并希望了解它的性能以及存在多少同质性、聚类。
2) 没有现有数据,并且希望从头开始生成一个具有足够同质性和聚类的网络。
上述包中的所有示例都适用于现有数据集,samplike
即 Sampson Monk Data。如果我只对生成具有给定数量的同质性和聚类的网络感兴趣,我应该放入什么输入网络?例如,从改编的代码:
library(ergm)
library(latentnet)
test.net = as.network(matrix(0,100,100), directed = F) #100-node network
test.net%v%"gender" = rbinom(100, size = 1, prob = 0.5) #nodal attribute
gest <- ergmm(test.net ~ euclidean(d=3,G=10) + nodematch("gender")
g.sim <- simulate(gest)
plot(g.sim, vertex.col = as.numeric(test.net%v%"gender"), vertex.cex = 2)
如果我想用集群模拟网络,我应该从一个test.net
已经有 10 个集群的对象开始(例如随机块模型)吗?还是应该从 100 个节点的网络开始?