查找顶点子集之间的最短路径序列

时间:2019-07-17 12:06:20

标签: r igraph lapply shortest-path do.call

我有一个网络net和一个{-{1}},它们之间具有起点-目的地关系dfod的顶点是od的一部分。现在,我想找到net中顶点之间的shortest_path序列。

我知道如何找到od的所有顶点之间的shortest_path序列。我尝试将net的顶点进行子集化,因为netod的子集。

示例:

net
实际结果是24个边缘序列的列表。所需的输出将是3个边缘序列的列表: 从1到4 从2到3 从3到4

谢谢!

1 个答案:

答案 0 :(得分:0)

写下我的评论作为答案。

这可以通过沿给定数据集sapply的行数进行迭代(od)来实现,同时尝试尽可能地接近原始方法:

sapply(1:nrow(od), function(v) shortest_paths(net, od$from[v], od$to[v], output = "epath")$epath)

结果是所需的边缘序列。