# add_edge: Add an edge between nodes in a graph object In DiagrammeR: Graph/Network Visualization

## Add an edge between nodes in a graph object

### Description

With a graph object of class dgr_graph, add an edge to nodes within the graph.

### Usage

add_edge(graph, from, to, rel = NULL, edge_aes = NULL, edge_data = NULL)


### Arguments

 graph A graph object of class dgr_graph. from The outgoing node from which the edge is connected. There is the option to use a node label value here (and this must correspondingly also be done for the to argument) for defining node connections. Note that this is only possible if all nodes have distinct label values set and none exist as an empty string. to The incoming nodes to which each edge is connected. There is the option to use a node label value here (and this must correspondingly also be done for the from argument) for defining node connections. Note that this is only possible if all nodes have distinct label values set and none exist as an empty string. rel An optional string specifying the relationship between the connected nodes. edge_aes An optional list of named vectors comprising edge aesthetic attributes. The helper function edge_aes() is strongly recommended for use here as it contains arguments for each of the accepted edge aesthetic attributes (e.g., shape, style, penwidth, color). edge_data An optional list of named vectors comprising edge data attributes. The helper function edge_data() is strongly recommended for use here as it helps bind data specifically to the created edges.

### Value

A graph object of class dgr_graph.

Other Edge creation and removal: add_edge_clone(), add_edge_df(), add_edges_from_table(), add_edges_w_string(), add_forward_edges_ws(), add_reverse_edges_ws(), copy_edge_attrs(), create_edge_df(), delete_edges_ws(), delete_edge(), delete_loop_edges_ws(), drop_edge_attrs(), edge_data(), join_edge_attrs(), mutate_edge_attrs_ws(), mutate_edge_attrs(), recode_edge_attrs(), rename_edge_attrs(), rescale_edge_attrs(), rev_edge_dir_ws(), rev_edge_dir(), set_edge_attr_to_display(), set_edge_attrs_ws(), set_edge_attrs()

### Examples

# Create a graph with 4 nodes
graph <-
create_graph() %>%

# Add an edge between those
# nodes and attach a
# relationship to the edge
graph <-
graph,
from = 1,
to = 2,
rel = "A")

# Use the get_edge_info()
# function to verify that
# the edge has been created
graph %>%
get_edge_info()

# edge to the graph
graph <-
graph %>%
from = 3,
to = 2,
rel = "A")

# Verify that the edge
# has been created by
# counting graph edges
graph %>% count_edges()

# node label values; note
# that all nodes must have
# unique label values to
# use this option
graph <-
graph %>%
from = "three",
to = "four",
rel = "L") %>%
from = "four",
to = "one",
rel = "L")

# Use get_edges() to verify
# that the edges were added
graph %>% get_edges()

# Add edge aesthetic and data
# attributes during edge creation
graph_2 <-
create_graph() %>%
from = 1,
to = 2,
rel = "M",
edge_aes = edge_aes(
penwidth = 1.5,
color = "blue"),
edge_data = edge_data(
value = 4.3))

# Use the get_edges() function
# to verify that the attribute
# values were bound to the
# newly created edge
graph_2 %>% get_edge_df()


DiagrammeR documentation built on March 18, 2022, 7:11 p.m.