get_paths {DiagrammeR} | R Documentation |
Obtain a list of all possible paths from a given node within a directed graph
get_paths(graph, from = NULL, to = NULL, shortest_path = FALSE, longest_path = FALSE, distance = NULL)
graph |
a graph object of class
|
from |
the node from which all paths will be determined. |
to |
the node to which all paths will be determined. |
shortest_path |
an option to return paths that are the shortest in the set of all determined paths. |
longest_path |
an option to return paths that are the longest in the set of all determined paths. |
distance |
a vector of integer values that specify which of the valid paths to return when filtering by distance. |
a list of paths, sorted by ascending traversal length, comprising vectors of node IDs in sequence of traversal through the graph.
# Create a simple graph graph <- create_graph() %>% add_n_nodes(8) %>% add_edge(1, 2) %>% add_edge(1, 3) %>% add_edge(3, 4) %>% add_edge(3, 5) %>% add_edge(4, 6) %>% add_edge(2, 7) %>% add_edge(7, 5) %>% add_edge(4, 8) # Get a list of all paths outward from node `1` get_paths(graph, from = 1) #> [[1]] #> [1] 1 3 5 #> #> [[2]] #> [1] 1 2 7 5 #> #> [[3]] #> [1] 1 3 4 6 #> #> [[4]] #> [1] 1 3 4 8 # Get a list of all paths leading to node `6` get_paths(graph, to = 6) #> [[1]] #> [1] 1 3 4 6 # Get a list of all paths from `1` to `5` get_paths(graph, from = 1, to = 5) #> [[1]] #> [1] 1 3 5 #> #> [[2]] #> [1] 1 2 7 5 # Get a list of all paths from `1` up to a distance # of 2 node traversals get_paths(graph, from = 1, distance = 2) #> [[1]] #> [1] 1 3 5 #> #> [[2]] #> [1] 1 2 7 #> #> [[3]] #> [1] 1 3 4 # Get a list of the shortest paths from `1` to `5` get_paths( graph, from = 1, to = 5, shortest_path = TRUE) #> [[1]] #> [1] 1 3 5 # Get a list of the longest paths from `1` to `5` get_paths( graph, from = 1, to = 5, longest_path = TRUE) #> [[1]] #> [1] 1 2 7 5