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 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
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 node`label`

value here (and this must correspondingly also be 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.- 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
```