Last chance! 50% off unlimited learning
Sale ends in
With a graph object of class dgr_graph
, add an edge to nodes within the
graph.
add_edge(graph, from, to, rel = NULL, edge_aes = NULL, edge_data = NULL)
A graph object of class dgr_graph
.
A graph object of class dgr_graph
.
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.
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.
An optional string specifying the relationship between the connected nodes.
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
).
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.
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_edge()
,
delete_edges_ws()
,
delete_loop_edges_ws()
,
drop_edge_attrs()
,
edge_data()
,
join_edge_attrs()
,
mutate_edge_attrs()
,
mutate_edge_attrs_ws()
,
recode_edge_attrs()
,
rename_edge_attrs()
,
rescale_edge_attrs()
,
rev_edge_dir()
,
rev_edge_dir_ws()
,
set_edge_attr_to_display()
,
set_edge_attrs()
,
set_edge_attrs_ws()
# Create a graph with 4 nodes
graph <-
create_graph() %>%
add_node(label = "one") %>%
add_node(label = "two") %>%
add_node(label = "three") %>%
add_node(label = "four")
# Add an edge between those
# nodes and attach a
# relationship to the edge
graph <-
add_edge(
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()
# Add another node and
# edge to the graph
graph <-
graph %>%
add_edge(
from = 3,
to = 2,
rel = "A")
# Verify that the edge
# has been created by
# counting graph edges
graph %>% count_edges()
# Add edges by specifying
# node `label` values; note
# that all nodes must have
# unique `label` values to
# use this option
graph <-
graph %>%
add_edge(
from = "three",
to = "four",
rel = "L") %>%
add_edge(
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() %>%
add_n_nodes(n = 2) %>%
add_edge(
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()
Run the code above in your browser using DataLab