Graphs from adjacency lists {igraph} | R Documentation |
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.
graph.adjlist(adjlist, directed = TRUE, duplicate = TRUE)
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 .
|
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
.
An igraph graph object.
Gabor Csardi csardi@rmki.kfki.hu
## 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)