trav_reverse_edge: Traverse to any reverse edges

View source: R/trav_reverse_edge.R

trav_reverse_edgeR Documentation

Traverse to any reverse edges

Description

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().

Usage

trav_reverse_edge(graph, add_to_selection = FALSE)

Arguments

graph

A graph object of class dgr_graph.

add_to_selection

An option to either add the reverse edges to the active selection of edges (TRUE) or switch the active selection entirely to those reverse edges (FALSE, the default case).

Value

A graph object of class dgr_graph.

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()

# 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()


rich-iannone/DiagrammeR documentation built on Feb. 5, 2024, 8 a.m.