当网络相当密集时,如何使用IGRAPHE研究一组节点之间的交互?

当网络相当密集时,如何使用IGRAPHE研究一组节点之间的交互?,r,networking,igraph,R,Networking,Igraph,我有4个无向图,有1000个顶点和176672150994193477236060条边。我试图看到一组特定的节点之间的交互,每个图有16个节点。tkplot中的这种可视化是不可行的,因为1000个顶点对它来说已经太多了。我在想,是否有某种方法可以分别从父图形和视图中提取这16个节点的交互,这样在tkplot中就更容易处理和使用了。我不希望信息丢失,因为如果信息来自16个预先指定的节点之外,那么交互路径中的节点是什么。有什么方法可以实现吗?在这样一个密集的图形中,如果您只选择连接这16个顶点的每一

我有4个无向图,有1000个顶点和176672150994193477236060条边。我试图看到一组特定的节点之间的交互,每个图有16个节点。tkplot中的这种可视化是不可行的,因为1000个顶点对它来说已经太多了。我在想,是否有某种方法可以分别从父图形和视图中提取这16个节点的交互,这样在tkplot中就更容易处理和使用了。我不希望信息丢失,因为如果信息来自16个预先指定的节点之外,那么交互路径中的节点是什么。有什么方法可以实现吗?

在这样一个密集的图形中,如果您只选择连接这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))
在本例中,子图将包括大约一半的所有顶点


在此之后,我认为你应该考虑寻找其他方式,而不是形象化地研究你感兴趣的顶点之间的关系。它可以是一些拓扑度量,但实际上取决于分析的目的。

是的,这称为诱导子图,请参见诱导子图:我做了这件事,但它没有显示任何未预先指定的节点,以防我的16个节点之间的交互是通过其他节点进行的。例如,如果第7个节点通过第30个节点与第10个节点交互,我希望在我的新图表中也有第30个节点。如何实现这一点?那么您希望所有连接的组件都包括16个节点中的任何一个?然后你可以使用集群功能。谢谢@加博我同意,这是相当密集的。我的目标是研究16个节点之间的相互作用,这实际上是疾病基因,所以我应该看看在我比较的四个网络中基因是如何相互作用的。因此,为了提高我的结果/研究互动,我应该采用其他方式。@deeenes-对不起,我无法编辑我的评论,我想把你也包括在内,我还想说谢谢你的帮助和指导。谢谢你接受我的回答!就像我做生物信息学一样,我想知道为什么你们的基因相互作用网络如此密集?可能是由于大规模高通量筛查或电子预测,导致高假阳性率。在这种情况下,你可以考虑寻找其他先验知识的来源,建立一个更好的网络,或者用生物学意义上的方式过滤边缘。我认为理想情况下,一个分子网络的平均等级应该是5-10。我的工作是研究DNA微阵列数据,我正在使用候选基因方法寻找4种疾病状态下的共表达基因。对我来说,节点的度数相当高,若你们说平均值是5-10,我就有几百个。在这一点上,我有1000个共表达基因,但如果我增加这个数量,我会遇到一些严重的可视化问题。是的,我需要像你说的那样完善我的数据。我将研究更多关于如何实现这一点的资源,或者您可以提供一些链接作为开始!