计算shortest.paths上的顶点数

时间:2018-05-09 07:11:09

标签: r igraph shortest-path transport

拥有加权定向网络,例如:

library(igraph)

g <- erdos.renyi.game(25, 1/10, directed = TRUE)
E(g)$weight <- runif(length(E(g)), 1, 5)

当运行最短路径函数sp <- shortest.paths(g)时,我显然得到一个矩阵,其中包含两个加权边之和。但是,我想计算该路径上有多少个顶点。

这个想法来自于搜索火车网络的最短路径,边缘是火车站,我希望看到每条最短路径的传输量(在顶点或节点之间)。 p>

编辑:例如,如果最短路径是A到C,我想知道它们之间有多少个顶点。例如,如果完整路径是A - E - B - C,则E和B是中间顶点,因此我的值为2.完整顶点路径也可以,所以在这种情况下它会给我4个顶点用于完整的最短路径。

1 个答案:

答案 0 :(得分:0)

找到问题的替代解决方案。

sp <- shortest_paths(g, V(g), V(g), mode = "all",
                         weights = E(g)$weight, output = "vpath")$vpath

lengths(sp)

这给出了该路径上的确切顶点数。因此,对于中间停止,只需将值减去2即可。