R igraph 手册页

如果您从 R 中使用 igraph,请使用此选项

graph_from_adj_list {igraph}R 文档

从邻接列表创建图

描述

邻接列表是数字向量的列表,包含每个顶点的相邻顶点。此函数从这样的列表创建一个 igraph 图对象。

用法

graph_from_adj_list(
  adjlist,
  mode = c("out", "in", "all", "total"),
  duplicate = TRUE
)

参数

adjlist

邻接列表。它应该是连贯的,即列表中所有向量的最大值必须小于向量的数量(=图中的顶点数)。请注意,该列表预计是 0 索引的。

模式

字符标量,指定要创建的图是无向的(“all”或“total”)还是有向的;在后一种情况下,它包含顶点的传出(“out”)或传入(“in”)邻居。

duplicate

逻辑标量。对于无向图,它指示边是否在列表中包含两次。例如,如果它是 TRUE,那么对于一个无向的 {A,B} 边,graph_from_adj_list 期望 A 包含在 B 的邻居中,并且 B 包含在 A 的邻居中。

如果 modeoutin,则此参数将被忽略。

详细信息

如果您打算对图进行许多(小的)修改,则邻接列表很方便。在这种情况下,邻接列表比 igraph 图更有效。

这个想法是您通过 as_adj_list 将您的图转换为邻接列表,对图进行修改,最后通过调用 graph_from_adj_list 再次创建一个 igraph 图。

一个 igraph 图对象。

作者

Gabor Csardi csardi.gabor@gmail.com

参见

as_edgelist

示例


## Directed
g <- make_ring(10, directed=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)

[包 igraph 版本 1.3.5 索引]