R: Query and manipulate a graph as it were an adjacency list

[[.igraph {igraph} | R Documentation

## Query and manipulate a graph as it were an adjacency list

### Description

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 `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 the `i` and `j` arguments and if it is present, then the `to` 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 the `i` and `j` arguments and if it is present, then the `from` 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:

1. Querying the adjacent vertices for one or more vertices:

         graph[[1:3,]]
       graph[[,1:3]]

   The first form gives the successors, the second the predessors or the 1:3 vertices. (For undirected graphs they are equivalent.)

2. Querying the incident edges for one or more vertices, if the `edges` argument is set to `TRUE`:

         graph[[1:3, , edges=TRUE]]
       graph[[, 1:3, edges=TRUE]]

3. 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_edges`, `incident`, `is_directed`, `neighbors`, `tail_of`

[Package igraph version 1.2.4.1 Index]