【发布时间】:2020-09-01 16:51:19
【问题描述】:
我有一个定向 igraph:
library( igraph )
links <- data.frame( from = c(1,1, 2,2,3, 3,3,4,6,7,7, 8),
to = c(2,10,3,4,12,4,8,5,7,3,11,9) )
nodes <- data.frame( name = 1:12 )
net <- graph_from_data_frame( d = links, vertices = nodes, directed = TRUE )
plot(net)
我想要的是:
- 获取图的子集,包含节点 3 一步内的所有节点(进出)
- 获取子集中通过节点 3 的所有路径的列表
对于第 1 步,我可以:
ego.list <- make_ego_graph( net, order = 1, nodes = 3, mode = "all")
desired_subset <- NULL
for (i in seq_along(ego.list) ){
x <- ego.list[[i]]
desired_subset <- graph.union( desired_subset, x )
}
plot(desired_subset)
但现在我被卡住了。我想要的是在整个(有向)子集中找到所有路径,这些路径通过节点 3, 所以:
- 2->3->12
- 2->3->4
- 2->3->8
- 7->3->12
- 7->3->4
- 7->3->8
到目前为止,我发现的只是获取从一个节点到另一个节点的路径列表。但我想获取通过某个节点的所有路径的列表。
有什么想法吗?
【问题讨论】:
-
看看我的这个answer能不能帮到你。
-
感谢@RuiBarradas,这很有帮助。我想出了下面的答案..
标签: r