如何在R中生成一系列随机网络



我是一个R初学者,所以请原谅我。

我正在尝试创建一组大约100个随机网络,与我原来的60个节点和246个加权链接的网络进行比较。

我希望每个网络具有0-100之间的随机节点数,每个节点具有随机密度(即任意一个节点将与另一个节点连接的随机概率),并且在1-5之间随机加权边。

我对R中的网络分析非常陌生,所以我不确定如何创建一个允许我输出100个这样的脚本(用循环猜测),也不知道如何指定随机边缘密度和权重。

任何建议都会很好。

igraph是一个良好的开端:

library(igraph)
set.seed(1)
gs <- list()
for (x in seq_len(100L)) {
  gs[[x]] <- erdos.renyi.game(sample(1:100, 1), p.or.m = runif(1))
  E(gs[[x]])$weight <- sample(1:5, ecount(gs[[x]]), T)
}
plot(gs[[1]], edge.width = E(gs[[1]])$weight) # plot first graph

参见?erdos.renyi.game中关于随机图生成的文档。

最新更新