从igraph中的图形中删除未连接的短路径

Saa*_*aad 3 r graph igraph

我正在使用igraph中的网络,我有一个网络,其中有短的连接节点,彼此重叠,所以我们不要exaclt看到边缘.我想删除这样的短连接节点,因为它们没有连接到主网络.由于节点不是0度,因此度数不起作用,它们要么连接到一个或多个基因,但仍然不在主网络中.即使主网络显示一些重叠基因,我也想纠正它.

 net <- simplify(InnatedGraph, remove.multiple = T, remove.loops = T, ) 
 bad.vs<-V(net)[degree(net) == 0] 
 net <-delete.vertices(net, bad.vs)
 plot(net,vertex.label=NA, edge.curved=.1, edge.width = 1,edge.arrow.width = 0.3,vertex.size = 3,asp=-1,edge.arrow.size = 0.5,vertex.label.cex = 0.3)
Run Code Online (Sandbox Code Playgroud)

完成所有这些后,我得到了这样的网络 在此输入图像描述

您在主网络周围看到的基因不是孤立的节点,而是连接到其他重叠的节点.是否有办法删除这些基因,防止在主网络中重叠.

paq*_*qmo 6

你想要主要组件.首先,找到组件,然后根据这些组件对图形进行子集化.g是你的网络:

V(g)$comp <- components(g)$membership
main <- induced_subgraph(g,V(g)$comp==1)
Run Code Online (Sandbox Code Playgroud)

至于重叠节点,请查看igraph中可用的不同布局.?igraph::layout.