From an active selection of edges in a graph object of class dgr_graph
,
traverse to any available reverse edges between the nodes common to the
selected edges. For instance, if an active selection has the edge 1->2
but
there is also an (not selected) edge 2->1
, then this function can either
switch to the selection of 2->1
, or, incorporate both those edges into the
active selection of edges.
This traversal function makes use of an active selection of edges. After the traversal, depending on the traversal conditions, there will either be a selection of edges or no selection at all.
Selections of edges can be performed using the following selection
(select_*()
) functions: select_edges()
, select_last_edges_created()
,
select_edges_by_edge_id()
, or select_edges_by_node_id()
.
Selections of edges can also be performed using the following traversal
(trav_*()
) functions: trav_out_edge()
, trav_in_edge()
,
trav_both_edge()
, or trav_reverse_edge()
.
Examples
# Create a node data frame (ndf)
ndf <-
create_node_df(
n = 4,
type = "basic",
label = TRUE)
# Create an edge data frame (edf)
edf <-
create_edge_df(
from = c(1, 4, 2, 3, 3),
to = c(4, 1, 3, 2, 1))
# Create a graph with the
# ndf and edf
graph <-
create_graph(
nodes_df = ndf,
edges_df = edf)
# Explicitly select the edges
# `1`->`4` and `2`->`3`
graph <-
graph %>%
select_edges(
from = 1,
to = 4) %>%
select_edges(
from = 2,
to = 3)
# Get the inital edge selection
graph %>% get_selection()
#> [1] 1 3
# Traverse to the reverse edges
# (edges `2`: `4`->`1` and
# `4`:`3`->`2`)
graph <-
graph %>%
trav_reverse_edge()
# Get the current selection of edges
graph %>% get_selection()
#> [1] 2 4