1% Generated by roxygen2: do not edit by hand
2% Please edit documentation in R/add_n_node_clones.R
3\name{add_n_node_clones}
4\alias{add_n_node_clones}
5\title{Add one or several clones of an existing node to the graph}
6\usage{
7add_n_node_clones(graph, n, node, label = NULL)
8}
9\arguments{
10\item{graph}{A graph object of class \code{dgr_graph}.}
11
12\item{n}{The number of node clones to add to the graph.}
13
14\item{node}{A node ID corresponding to the graph node to be cloned.}
15
16\item{label}{An optional vector of node label values. The vector length
17should correspond to the value set for \code{n}.}
18}
19\value{
20A graph object of class \code{dgr_graph}.
21}
22\description{
23Add \code{n} new nodes to a graph object of class \code{dgr_graph} which are clones of
24a node already in the graph. All node attributes are preserved except for the
25node \code{label} attribute (to maintain the uniqueness of non-\code{NA} node label
26values). A vector of node \code{label} can be provided to bind new labels to the
27cloned nodes.
28}
29\examples{
30# Create a graph with a path of
31# nodes; supply `label`, `type`,
32# and `value` node attributes
33graph <-
34  create_graph() \%>\%
35  add_path(
36    n = 3,
37    label = c("d", "g", "r"),
38    type = c("a", "b", "c"))
39
40# Display the graph's internal
41# node data frame
42graph \%>\% get_node_df()
43
44# Create 3 clones of node `1`
45# but assign new node label
46# values (leaving `label` as
47# NULL yields NA values)
48graph <-
49  graph \%>\%
50  add_n_node_clones(
51    n = 3,
52    node = 1,
53    label = c("x", "y", "z"))
54
55# Display the graph's internal
56# node data frame: nodes `4`,
57# `5`, and `6` are clones of `1`
58graph \%>\% get_node_df()
59}
60\seealso{
61Other Node creation and removal:
62\code{\link{add_n_nodes_ws}()},
63\code{\link{add_n_nodes}()},
64\code{\link{add_node_clones_ws}()},
65\code{\link{add_node_df}()},
66\code{\link{add_nodes_from_df_cols}()},
67\code{\link{add_nodes_from_table}()},
68\code{\link{add_node}()},
69\code{\link{colorize_node_attrs}()},
70\code{\link{copy_node_attrs}()},
71\code{\link{create_node_df}()},
72\code{\link{delete_nodes_ws}()},
73\code{\link{delete_node}()},
74\code{\link{drop_node_attrs}()},
75\code{\link{join_node_attrs}()},
76\code{\link{layout_nodes_w_string}()},
77\code{\link{mutate_node_attrs_ws}()},
78\code{\link{mutate_node_attrs}()},
79\code{\link{node_data}()},
80\code{\link{recode_node_attrs}()},
81\code{\link{rename_node_attrs}()},
82\code{\link{rescale_node_attrs}()},
83\code{\link{set_node_attr_to_display}()},
84\code{\link{set_node_attr_w_fcn}()},
85\code{\link{set_node_attrs_ws}()},
86\code{\link{set_node_attrs}()},
87\code{\link{set_node_position}()}
88}
89\concept{Node creation and removal}
90