指定节点之间的顶点/边

时间:2016-09-23 18:05:47

标签: r igraph

这似乎是一个容易解决的问题,但即使在一周后,我找不到解决方案。

我有一个无向图,有1700多个节点和5000多个边。我想为源节点和其他目标节点过滤/子集此图,而不管邻域的顺序如何。我尝试了以下代码,它适用于此示例数据集,但all_simple_paths不会终止我的实际数据集。

在这个工作示例中,我展示了A和C& A之间的联系。 F。

library(igraph)
gg <- graph.data.frame(data.frame(n1 = c('A', 'A', 'B', 'A', 'A', 'F', 'E'), 
                              n2 = c('D', 'B', 'C', 'E', 'F', 'C', 'F')),
                   directed = FALSE,
                   vertices = LETTERS[1:6])
plot(gg, layout = layout_with_kk(gg))
paths <- all_simple_paths(gg, from = "A", to = c("C", "F"))
gg_s <- subgraph(gg, v = unique(rapply(paths, f = c)))
plot(gg_s, layout = layout_with_kk(gg_s))

我还尝试了subcomponentintersection,但subcomponent会返回所有可能的连接。我尝试创建自我图形然后做一个交集,但这并没有给出最好的结果。

0 个答案:

没有答案