Graphs from adjacency lists {igraph} | R Documentation

## Create graphs from adjacency lists

### Description

An adjacency list is a list of numeric vectors, containing the neighbor vertices for each vertex. This function creates an igraph graph object from such a list.

### Usage

    graph.adjlist(adjlist, directed = TRUE, duplicate = TRUE)

### Arguments

`adjlist` | The adjacency list. It should be consistent, i.e. the maximum throughout all vectors in the list must be less than the number of vectors (=the number of vertices in the graph). Note that the list is expected to be 0-indexed.
`directed` | Logical scalar, whether or not to create a directed graph.
`duplicate` | Logical scalar. For undirected graphs it gives whether edges are included in the list twice. E.g. if it is `TRUE` then for an undirected `{A,B}` edge `graph.adjlist` expects `A` included in the neighbors of `B` and `B` to be included in the neighbors of `A`. This argument is ignored if `directed` is `TRUE`.

### Details

Adjacency lists are handy if you intend to do many (small) modifications to a graph. In this case adjacency lists are more efficient than igraph graphs.

The idea is that you convert your graph to an adjacency list by `get.adjlist`, do your modifications to the graphs and finally create again an igraph graph by calling `graph.adjlist`.

### Value

An igraph graph object.

### Author(s)

Gabor Csardi csardi@rmki.kfki.hu

### See Also

`get.edgelist`

### Examples

    ## Directed
    g <- graph.ring(10, dir=TRUE)
    al <- get.adjlist(g, mode="out")
    g2 <- graph.adjlist(al)
    graph.isomorphic(g, g2)

    ## Undirected
    g <- graph.ring(10)
    al <- get.adjlist(g)
    g2 <- graph.adjlist(al, dir=FALSE)
    graph.isomorphic(g, g2)
    ecount(g2)
    g3 <- graph.adjlist(al, dir=FALSE, duplicate=FALSE)
    ecount(g3)
    is.multiple(g3)

[Package igraph version 0.5.2 Index]