R igraph manual pages

Use this if you are using igraph from R

E {igraph}R Documentation

Edges of a graph


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.


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



The graph.


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.


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.


Whether to consider edge directions in the P argument, for directed graphs.


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.


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.

See Also

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()


# Edges of an unnamed graph
g <- make_ring(10)

# Edges of a named graph
g2 <- make_ring(10) %>%
  set_vertex_attr("name", value = letters[1:10])

[Package igraph version 1.3.1 Index]