# E: Edges of a graph In igraph: Network Analysis and Visualization

## Description

An edge sequence is a vector containing numeric edge ids, with a special class attribute that allows custom operations: selecting subsets of edges based on attributes, or graph structure, creating the intersection, union of edges, etc.

## Usage

 `1` ```E(graph, P = NULL, path = NULL, directed = TRUE) ```

## Arguments

 `graph` The graph. `P` A list of vertices to select edges via pairs of vertices. The first and second vertices select the first edge, the third and fourth the second, etc. `path` A list of vertices, to select edges along a path. Note that this only works reliable for simple graphs. If the graph has multiple edges, one of them will be chosen arbitrarily to be included in the edge sequence. `directed` Whether to consider edge directions in the `P` argument, for directed graphs.

## Details

Edge sequences are usually used as igraph function arguments that refer to edges of a graph.

An edge sequence is tied to the graph it refers to: it really denoted the specific edges of that graph, and cannot be used together with another graph.

An edge sequence is most often created by the `E()` function. The result includes edges in increasing edge id order by default (if. none of the `P` and `path` arguments are used). An edge sequence can be indexed by a numeric vector, just like a regular R vector. See links to other edge sequence operations below.

## Value

An edge sequence of the graph.

## Indexing edge sequences

Edge sequences mostly behave like regular vectors, but there are some additional indexing operations that are specific for them; e.g. selecting edges based on graph structure, or based on edge attributes. See `[.igraph.es` for details.

## Querying or setting attributes

Edge sequences can be used to query or set attributes for the edges in the sequence. See `\$.igraph.es` for details.

Other vertex and edge sequences: `V()`, `igraph-es-attributes`, `igraph-es-indexing2`, `igraph-es-indexing`, `igraph-vs-attributes`, `igraph-vs-indexing2`, `igraph-vs-indexing`, `print.igraph.es()`, `print.igraph.vs()`
 ```1 2 3 4 5 6 7 8``` ```# Edges of an unnamed graph g <- make_ring(10) E(g) # Edges of a named graph g2 <- make_ring(10) %>% set_vertex_attr("name", value = letters[1:10]) E(g2) ```