我想使用任何包在 R 中生成一个大图。
所需的输出将是一个两列矩阵,第一列列出代理,第二列列出它们的连接,形式如下:
1 3
1 4
1 6
1 7
2 2
2 5
3 9
3 11
3 32
3 43
3 2
4 5
我希望能够指定平均程度以及最小和最大接触数。
最简单的方法是什么?
由于您没有指定除图表之外的任何其他内容,因此我们可以非常简单地执行此操作:
actor <- sample(1:4, 10, replace=TRUE)
receiver <- sample(3:43, 10, replace=TRUE)
graph <- cbind(actor,receiver)
如果您想要更具体的内容,请igraph
查看例如
library(igraph)
graph <- erdos.renyi.game(21, 0.3, type=c("gnp", "gnm"),
directed = FALSE, loops = FALSE)
# here the 0.3 is the probability of ties and 21 is the number of nodes
# this is a one mode network
bipartite
或使用专门针对两种模式网络的软件包:
library(bipartite)
web <- genweb(N1 = 5, N2 = 10, dens = 2)
web2edges(web,return=TRUE)
# here N1 is the number of nodes in set 1 and N2 the number of nodes in set 2
# and dens the average number of ties per node
有很多事情需要考虑,例如,如果您想限制度数分布、代理之间的联系概率等。