Skip to contents

The read_graph() function is able to read graphs in various representations from a file, or from a http connection. Various formats are supported.

Usage

read_graph(
  file,
  format = c("edgelist", "pajek", "ncol", "lgl", "graphml", "dimacs", "graphdb", "gml",
    "dl"),
  ...
)

Arguments

file

The connection to read from. This can be a local file, or a http or ftp connection. It can also be a character string with the file name or URI.

format

Character constant giving the file format. Right now edgelist, pajek, ncol, lgl, graphml, dimacs, graphdb, gml and dl are supported, the default is edgelist. As of igraph 0.4 this argument is case insensitive.

...

Additional arguments, see below.

Value

A graph object.

Details

The read_graph() function may have additional arguments depending on the file format (the format argument). See the details separately for each file format, below.

Edge list format

This format is a simple text file with numeric vertex IDs defining the edges. There is no need to have newline characters between the edges, a simple space will also do. Vertex IDs contained in the file are assumed to start at zero.

Additional arguments:

n

The number of vertices in the graph. If it is smaller than or equal to the largest integer in the file, then it is ignored; so it is safe to set it to zero (the default).

directed

Logical scalar, whether to create a directed graph. The default value is TRUE.

Pajek format

Currently igraph only supports Pajek network files, with a .net extension, but not Pajek project files with a .paj extension. Only network data is supported; permutations, hierarchies, clusters and vectors are not.

NCOL format

Additional arguments:

predef

Names of the vertices in the file. If character(0) (the default) is given here then vertex IDs will be assigned to vertex names in the order of their appearance in the .ncol file. If it is not character(0) and some unknown vertex names are found in the .ncol file then new vertex ids will be assigned to them.

names

Logical value, if TRUE (the default) the symbolic names of the vertices will be added to the graph as a vertex attribute called “name”.

weights

Whether to add the weights of the edges to the graph as an edge attribute called “weight”. "yes" adds the weights (even if they are not present in the file, in this case they are assumed to be zero). "no" does not add any edge attribute. "auto" (the default) adds the attribute if and only if there is at least one explicit edge weight in the input file.

directed

Whether to create a directed graph (default: FALSE). As this format was originally used only for undirected graphs there is no information in the file about the directedness of the graph.

See also

write_graph()

Foreign format readers graph_from_graphdb(), write_graph()

Author

Gabor Csardi csardi.gabor@gmail.com