我是一个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
中关于随机图生成的文档。