具有如下所示的加权定向网络:
library(igraph)
g <- erdos.renyi.game(25, 1/10, directed = TRUE)
E(g)$weight <- runif(length(E(g)), 1, 5)当运行最短路径函数sp <- shortest.paths(g)时,我显然得到了一个矩阵,其中包含两个加权边的和。但是,我想计算一下该路径上有多少个顶点。
这个想法来自于搜索列车网络的最短路径,将边作为火车站,即我希望看到每条最短路径的转换量(在顶点或节点之间)。
编辑:例如,如果最短路径是A到C,我想知道中间有多少个顶点。例如,如果完整路径是A-E-B- C,则E和B是中间顶点,因此我的值为2。完整顶点路径也可以,因此在这种情况下,它将为完整最短路径提供4个顶点。
发布于 2018-05-09 18:44:16
已找到问题的替代解决方案。
sp <- shortest_paths(g, V(g), V(g), mode = "all",
weights = E(g)$weight, output = "vpath")$vpath
lengths(sp)这会给出该路径上的精确顶点数。因此,对于中间停靠点,只需将值减去2即可。
https://stackoverflow.com/questions/50247484
复制相似问题