Query and manipulate a graph as it were an adjacency list
Usage
# S3 method for class 'igraph'
x[[i, j, from, to, ..., directed = TRUE, edges = FALSE, exact = TRUE]]Arguments
- x
The graph.
- i
Index, integer, character or logical, see details below.
- j
Index, integer, character or logical, see details below.
- from
A numeric or character vector giving vertex ids or names. Together with the
toargument, it can be used to query/set a sequence of edges. See details below. This argument cannot be present together with any of theiandjarguments and if it is present, then thetoargument must be present as well.- to
A numeric or character vector giving vertex ids or names. Together with the
fromargument, it can be used to query/set a sequence of edges. See details below. This argument cannot be present together with any of theiandjarguments and if it is present, then thefromargument must be present as well.- ...
Additional arguments are not used currently.
- directed
Logical scalar, whether to consider edge directions in directed graphs. It is ignored for undirected graphs.
- edges
Logical scalar, whether to return edge ids.
- exact
Ignored.
Details
The double bracket operator indexes the (imaginary) adjacency list of the graph. This can used for the following operations:
Querying the adjacent vertices for one or more vertices:
graph[[1:3,]] graph[[,1:3]]The first form gives the successors, the second the predecessors or the 1:3 vertices. (For undirected graphs they are equivalent.)
Querying the incident edges for one or more vertices, if the
edgesargument is set toTRUE:graph[[1:3, , edges=TRUE]] graph[[, 1:3, edges=TRUE]]Querying the edge ids between two sets or vertices, if both indices are used. E.g.
graph[[v, w, edges=TRUE]]gives the edge ids of all the edges that exist from vertices \(v\) to vertices \(w\).
The alternative argument names from and to can be used
instead of the usual i and j, to make the code more
readable:
graph[[from = 1:3]]
graph[[from = v, to = w, edges = TRUE]]‘[[’ operators allows logical indices and negative indices
as well, with the usual R semantics.
Vertex names are also supported, so instead of a numeric vertex id a
vertex can also be given to ‘[’ and ‘[[’.
See also
Other structural queries:
[.igraph(),
adjacent_vertices(),
are_adjacent(),
ends(),
get_edge_ids(),
gorder(),
gsize(),
head_of(),
incident(),
incident_edges(),
is_directed(),
neighbors(),
tail_of()
