Я новичок в графиках и ожидаю, что это что-то довольно простое.
У меня есть ориентированный граф (гидрологическая сеть), и я хочу получить атрибут с краев по кратчайшему пути.Например:
library(igraph)
gdf <- data.frame(from = c(1,2,3,5), to = c(2,3,4,3), id = c("A","B","C","D"))
g <- graph_from_data_frame(gdf, directed = TRUE)
idx <- shortest_paths(g, 1, 3, output = "epath")$epath[[1]]
igraph::edge_attr(g, "id", idx)
Что возвращает:
[1] "A" "B"
Если я хочу получить метки для кратчайшего пути к концу сети:
idx <- shortest_paths(g, 1, 4, output = "epath")$epath[[1]]
igraph::edge_attr(g, "id", idx)
Я получаю:
Warning message:
In shortest_paths(g1, 1, 4, output = "epath") :
At structural_properties.c:740 :Couldn't reach some vertices
И idx
это:
+ 0/4 edges from b8aaa81 (vertex names):
Для этого последнего я бы ожидал получить [1] "A" "B" "C"
Как мнеполучить метки для кратчайшего пути, который включает в себя конечную вершину графа?