4

我想使用任何包在 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

我希望能够指定平均程度以及最小和最大接触数。

最简单的方法是什么?

4

1 回答 1

9

由于您没有指定除图表之外的任何其他内容,因此我们可以非常简单地执行此操作:

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

有很多事情需要考虑,例如,如果您想限制度数分布、代理之间的联系概率等。

于 2013-01-03T14:32:43.790 回答