Learn R Programming

DiagrammeR (version 1.0.9)

trav_reverse_edge: 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.

Usage

trav_reverse_edge(graph, add_to_selection = FALSE)

Value

A graph object of class dgr_graph.

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

Details

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

Run this code
# 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()

Run the code above in your browser using DataLab