如何使用igraph来研究网络密集时节点之间的交互?

时间:2015-04-24 03:37:36

标签: r networking igraph

我有4个无向图,有1000个顶点和176672,150994,193477,236060边。我试图看到每个图形的一组特定节点(数量为16个)之间的交互。 tkplot中的这种可视化是不可行的,因为1000个顶点对于它来说已经太过分了。我在考虑是否有某种方法可以从父图和单独的视图中提取这16个节点的交互,这将更容易处理并在tkplot中使用。如果来自16个预先指定的节点之外的其他节点,我不希望丢失信息,因为它在交互路径中的节点是什么。有没有办法实现它?

1 个答案:

答案 0 :(得分:0)

在如此密集的图形中,如果你只采用连接这16个顶点的每一对的最短路径,你仍会得到一个对tkplot来说太大的图形,甚至在cairo pdf图上看到任何有意义的图形。 但是,如果您打算这样做,这是一种可能的方式:

require(igraph)

g <- erdos.renyi.game(n = 1000, p = 0.1)

set <- sample(1:vcount(g), 16)

in.shortest.paths <- NULL
for(v in set){
    in.shortest.paths <- c(in.shortest.paths, 
        unlist(get.all.shortest.paths(g, from = v, to = set)$res))
}

subgraph <- induced.subgraph(g, unique(in.shortest.paths))

在此示例中,subgraph将包含约。所有顶点的一半。

在此之后,我认为您应该考虑寻找除可视化之外的其他方法来研究您感兴趣的顶点之间的关系。它可以是一些拓扑度量,但它实际上取决于分析的目的。