From a graph object of class dgr_graph
, delete an existing edge by
specifying either: (1) a pair of node IDs corresponding to the edge (keeping
into consideration the direction of the edge in a directed graph), or (2) an
edge ID.
Arguments
- graph
A graph object of class
dgr_graph
.- from
a node ID from which the edge to be removed is outgoing. If an edge ID is provided to
id
, then this argument is ignored. There is the option to use a nodelabel
value here (and this must correspondingly also be done for theto
argument) for defining node connections. Note that this is only possible if all nodes have distinctlabel
values set and none exist as an empty string.- to
a node ID to which the edge to be removed is incoming. If an edge ID is provided to
id
, then this argument is ignored. There is the option to use a nodelabel
value here (and this must correspondingly also be for thefrom
argument) for defining node connections. Note that this is only possible if all nodes have distinctlabel
values set and none exist as an empty string.- id
an edge ID of the edge to be removed.
See also
Other edge creation and removal:
add_edge()
,
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_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 2 nodes
graph <-
create_graph() %>%
add_n_nodes(n = 2)
# Add an edge
graph <-
graph %>%
add_edge(
from = 1,
to = 2)
# Delete the edge
graph <-
graph %>%
delete_edge(
from = 1,
to = 2)
# Get the count of edges in the graph
graph %>% count_edges()
#> [1] 0
# Create an undirected graph with
# 2 nodes and an edge
graph_undirected <-
create_graph(directed = FALSE) %>%
add_n_nodes(n = 2) %>%
add_edge(
from = 1,
to = 2)
# Delete the edge; the order of node ID
# values provided in `from` and `to`
# don't matter for the undirected case
graph_undirected %>%
delete_edge(
from = 2,
to = 1) %>%
count_edges()
#> [1] 0
# The undirected graph has a single
# edge with ID `1`; it can be
# deleted by specifying `id`
graph_undirected %>%
delete_edge(id = 1) %>%
count_edges()
#> [1] 0
# Create a directed graph with 2
# labeled nodes and an edge
graph_labeled_nodes <-
create_graph() %>%
add_n_nodes(
n = 2,
label = c("one", "two")) %>%
add_edge(
from = "one",
to = "two")
# Delete the edge using the node
# labels in `from` and `to`; this
# is analogous to creating the
# edge using node labels
graph_labeled_nodes %>%
delete_edge(
from = "one",
to = "two") %>%
count_edges()
#> [1] 0