gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 11:25:21 35 4
gpt4 key购买 nike

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

 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)

做完这一切后,我得到了一个这样的网络 enter image description here

你在主网络周围看到的基因不是孤立的节点,而是与其他重叠的节点相连。有没有办法删除这些基因并防止主网络中的重叠。

最佳答案

您想要 main component .首先,找到组件,然后根据这些组件对图进行子集化。其中 g 是您的网络:

V(g)$comp <- components(g)$membership
main <- induced_subgraph(g,V(g)$comp==1)

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

注意:查看@hermidalc 的回答。最大的组件不一定是第一个提取的组件。

关于r - 从 igraph 中的图形中删除未连接的短路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40133971/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com