Add clones of a selection of nodes
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. |
This function makes use of an active selection of nodes (and the function
ending with _ws
hints at this).
Selections of nodes can be performed using the following node selection
(select_*()
) functions: select_nodes()
, select_last_nodes_created()
,
select_nodes_by_degree()
, select_nodes_by_id()
, or
select_nodes_in_neighborhood()
.
Selections of nodes can also be performed using the following traversal
(trav_*()
) functions: trav_out()
, trav_in()
, trav_both()
,
trav_out_node()
, trav_in_node()
, trav_out_until()
, or
trav_in_until()
.
A graph object of class dgr_graph
.
Other Node creation and removal:
add_n_node_clones()
,
add_n_nodes_ws()
,
add_n_nodes()
,
add_node_df()
,
add_nodes_from_df_cols()
,
add_nodes_from_table()
,
add_node()
,
colorize_node_attrs()
,
copy_node_attrs()
,
create_node_df()
,
delete_nodes_ws()
,
delete_node()
,
drop_node_attrs()
,
join_node_attrs()
,
layout_nodes_w_string()
,
mutate_node_attrs_ws()
,
mutate_node_attrs()
,
node_data()
,
recode_node_attrs()
,
rename_node_attrs()
,
rescale_node_attrs()
,
set_node_attr_to_display()
,
set_node_attr_w_fcn()
,
set_node_attrs_ws()
,
set_node_attrs()
,
set_node_position()
# 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()
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.