read_graph()
函数能够从文件或 HTTP 连接中读取各种表示形式的图。支持多种格式。
用法
read_graph(
file,
format = c("edgelist", "pajek", "ncol", "lgl", "graphml", "dimacs", "graphdb", "gml",
"dl"),
...
)
边列表格式
此格式是一个简单的文本文件,其中包含定义边的数字顶点 ID。无需在边之间使用换行符,简单的空格也可以。文件中包含的顶点 ID 假定从零开始。
其他参数
- n
图中的顶点数。如果它小于或等于文件中最大的整数,则将被忽略;因此可以安全地将其设置为零(默认值)。
- directed
逻辑标量,用于指定是否创建有向图。默认值为
TRUE
。
NCOL 格式
其他参数
- predef
文件中顶点的名称。如果此处给出
character(0)
(默认值),则将按照顶点在 .ncol 文件中出现的顺序将顶点 ID 分配给顶点名称。如果它不是character(0)
并且在 .ncol 文件中找到一些未知顶点名称,则将为它们分配新的顶点 ID。- names
逻辑值,如果为
TRUE
(默认值),则顶点的符号名称将作为名为“name”的顶点属性添加到图中。- weights
是否将边的权重作为名为“weight”的边属性添加到图中。
"yes"
添加权重(即使它们不存在于文件中,在这种情况下,它们被假定为零)。"no"
不添加任何边属性。"auto"
(默认值)仅当输入文件中至少有一个显式边权重时才添加该属性。- directed
是否创建有向图(默认值:
FALSE
)。由于此格式最初仅用于无向图,因此文件中没有关于图的定向性的信息。
GraphML 格式
GraphML 是一种基于 XML 的文件格式,用于表示各种类型的图。目前,igraph 中仅实现了最基本的导入功能:它可以读取没有嵌套图和超边的 GraphML 文件。
- index
整数,指定从包含多个图的 GraphML 文件中读取哪个图。默认为 0,表示第一个图。
LGL 格式
.lgl 格式由 Large Graph Layout 可视化软件使用 (https://lgl.sourceforge.net),它可以描述无向的可选加权图
- names
逻辑值,指示是否将顶点名称作为名为“name”的顶点属性添加。默认值为 TRUE。
- weights
是否将边的权重作为名为“weight”的边属性添加到图中。
"yes"
添加权重(即使它们不存在于文件中,在这种情况下,它们被假定为零)。"no"
不添加任何边属性。"auto"
(默认值)仅当输入文件中至少有一个显式边权重时才添加该属性。- directed
逻辑值,指示是否创建有向图。默认值为 FALSE。
DIMACS 格式
这是一种面向行的文本文件 (ASCII) 格式。每行的第一个字符定义行的类型。如果第一个字符是 c,则该行是注释行,将被忽略。文件中有一行问题行(p),它必须出现在任何节点和弧描述符行之前。问题行有三个字段,用空格分隔:问题类型(max 或 edge)、图中的顶点数和边数。在 MAX 问题中,需要恰好两个节点识别行 (n),一个用于源顶点,一个用于目标顶点。这些行有两个字段:顶点的 ID 和顶点的类型,s (= 源) 或 t (= 目标)。弧线以 a 开头,有三个字段:源顶点、目标顶点和边容量。在 EDGE 问题中,每个节点可能有一行节点行 (n)。它指定节点索引和一个整数节点标签。没有指定显式标签的节点将使用其索引作为标签。在 EDGE 问题中,每条边都指定为边线 (e)。
- directed
逻辑值,指示是否创建有向图。默认值为 TRUE。
DL 格式
这是 UCINET 使用的一种简单的文本文件格式。有关示例,请参阅 http://www.analytictech.com/networks/dataentry.htm。igraph 支持此处描述的所有形式。还支持顶点名称和边权重,它们将作为属性添加。(如果附加了属性处理程序。)请注意,规范中没有提及格式是否区分大小写。对于 igraph,DL 文件区分大小写,即 Larry 和 larry 是不同的。
- directed
逻辑值,指示是否创建有向图。默认值为 TRUE。
GraphDB 格式
这是一种二进制格式,用于 ARG 图数据库中的同构测试。有关更多信息,请参阅 https://mivia.unisa.it/datasets/graph-database/arg-database/
- directed
逻辑值,指示是否创建有向图。默认值为 TRUE。
参见
外部格式读取器 graph_from_graphdb()
, write_graph()
作者
Gabor Csardi csardi.gabor@gmail.com