Use this if you are using igraph from R
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_from_adj_list(adjlist, mode = c("out", "in", "all", "total"), 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. |
mode |
Character scalar, it specifies whether the graph to create is undirected (‘all’ or ‘total’) or directed; and in the latter case, whether it contains the outgoing (‘out’) or the incoming (‘in’) neighbors of the vertices. |
duplicate |
Logical scalar. For undirected graphs it gives whether
edges are included in the list twice. E.g. if it is This argument is ignored if |
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
as_adj_list
, do your modifications to the graphs and finally
create again an igraph graph by calling graph_from_adj_list
.
An igraph graph object.
Gabor Csardi csardi.gabor@gmail.com
## Directed g <- make_ring(10, dir=TRUE) al <- as_adj_list(g, mode="out") g2 <- graph_from_adj_list(al) graph.isomorphic(g, g2) ## Undirected g <- make_ring(10) al <- as_adj_list(g) g2 <- graph_from_adj_list(al, mode="all") graph.isomorphic(g, g2) ecount(g2) g3 <- graph_from_adj_list(al, mode="all", duplicate=FALSE) ecount(g3) which_multiple(g3)