add_node_clones_ws {DiagrammeR} | R Documentation |
Add new nodes to a
graph object of class dgr_graph
which are clones of nodes in an active
selection of nodes. All node attributes
are preserved except for the node
label
attribute (to maintain the
uniqueness of non-NA
node label
values). A vector of node label
can be provided to bind new labels
to the cloned nodes.
add_node_clones_ws(graph, add_edges = FALSE, direction = NULL, label = NULL)
graph |
a graph object of class
|
add_edges |
an option for whether to add edges from the selected nodes to each of their clones, or, in the opposite direction. |
direction |
using |
label |
an optional vector of node label values. The vector length should correspond to the number of nodes in the active selection of nodes. |
a graph object of class
dgr_graph
.
# Create a graph with a path of # nodes; supply `label`, `type`, # and `value` node attributes, # and select the created nodes graph <- create_graph() %>% add_path( n = 3, label = c("d", "g", "r"), type = c("a", "b", "c")) %>% select_last_nodes_created() # Display the graph's internal # node data frame graph %>% get_node_df() # Create clones of all nodes # in the selection but assign # new node label values # (leaving `label` as NULL # yields NA values) graph <- graph %>% add_node_clones_ws( label = c("a", "b", "v")) # Display the graph's internal # node data frame: nodes `4`, # `5`, and `6` are clones of # `1`, `2`, and `3` graph %>% get_node_df() # Select the last nodes # created (`4`, `5`, and `6`) # and clone those nodes and # their attributes while # creating new edges between # the new and existing nodes graph <- graph %>% select_last_nodes_created() %>% add_node_clones_ws( add_edges = TRUE, direction = "to", label = c("t", "z", "s")) # Display the graph's internal # edge data frame; there are # edges between the selected # nodes and their clones graph %>% get_edge_df()