With a graph object of class dgr_graph
, add one or more edges to the graph
using a text string.
Arguments
- graph
A graph object of class
dgr_graph
.- edges
A single-length vector with a character string specifying the edges. For a directed graph, the string object should be formatted as a series of node ID values as
[node_ID_1]->[node_ID_2]
separated by a one or more space characters. For undirected graphs,--
should replace->
. Line breaks in the vector won't cause an error.- rel
An optional vector specifying the relationship between the connected nodes.
- use_labels
An option to use node
label
values in theedges
string to define node connections. Note that this is only possible if all nodes have distinctlabel
values set and none exist as an empty string.
See also
Other edge creation and removal:
add_edge()
,
add_edge_clone()
,
add_edge_df()
,
add_edges_from_table()
,
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()
Examples
# 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 edges between nodes using
# a character string with node
# ID values
graph_node_id <-
graph %>%
add_edges_w_string(
edges = "1->2 1->3 2->4 2->3")
# Show the graph's internal
# edge data frame
graph_node_id %>% get_edge_df()
#> id from to rel
#> 1 1 1 2 <NA>
#> 2 2 1 3 <NA>
#> 3 3 2 4 <NA>
#> 4 4 2 3 <NA>
# Add edges between nodes using
# a character string with node
# label values and setting
# `use_labels = TRUE`; note that
# all nodes must have unique
# `label` values to use this
graph_node_label <-
graph %>%
add_edges_w_string(
edges =
"one->two one->three
two->four two->three",
use_labels = TRUE)
# Show the graph's internal
# edge data frame (it's the
# same as before)
graph_node_label %>% get_edge_df()
#> id from to rel
#> 1 1 1 2 <NA>
#> 2 2 1 3 <NA>
#> 3 3 2 4 <NA>
#> 4 4 2 3 <NA>