Query and manipulate a graph as it were an adjacency list
Usage
# S3 method for 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
to
argument, it can be used to query/set a sequence of edges. See details below. This argument cannot be present together with any of thei
andj
arguments and if it is present, then theto
argument must be present as well.- to
A numeric or character vector giving vertex ids or names. Together with the
from
argument, it can be used to query/set a sequence of edges. See details below. This argument cannot be present together with any of thei
andj
arguments and if it is present, then thefrom
argument 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
edges
argument 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()