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