read.graph {igraph} | R Documentation |
The read.graph
function is able to read graphs in
various representations from a file, or from a http
connection. Currently some simple formats are supported.
read.graph(file, format = "edgelist", ...)
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 , graphml , ncol and
lgl are supported, the default is edgelist . |
... |
Additional arguments, see below. |
The read.graph
function may have additional arguments depending
on the file format (the format
argument).
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.
There are no additional arguments for this format.
igraph
implements only a subset of the Pajek format:
Vertex and edge attributes defined in the Pajek file will be also read and assigned to the graph object to be created. These are mainly parameters for graph visualization, but not exclusively, eg. the file might contain edge weights as well.
The following vertex attributes might be added:
igraph name | description, Pajek attribute |
id | Vertex id |
x, y, z | The ‘x’, ‘y’ and ‘z’ coordinate of the vertex |
vertexsize | The size of the vertex when plotted (size in Pajek). |
shape | The shape of the vertex when plotted. |
color | Vertex color (ic in Pajek) if given with symbolic name |
color-red, | |
color-green, | |
color-blue | Vertex color (ic in Pajek) if given in RGB notation |
framecolor | Border color (bc in Pajek) if given with symbolic name |
framecolor-red, | |
framecolor-green, | |
framecolor-blue | Border color (bc in Pajek) if given in RGB notation |
labelcolor | Label color (lc in Pajek) if given with symbolic name |
labelcolor-red, | |
labelcolor-green, | |
labelcolor-blue | Label color (lc in Pajek) if given in RGB notation |
xfact, yfact | The x_fact and y_fact Pajek attributes. |
labeldist | The distance of the label from the vertex. (lr in Pajek.) |
labeldegree, | |
labeldegree2 | The la and lphi Pajek attributes |
framewidth | The width of the border (bw in Pajek). |
fontsize | Size of the label font (fos in Pajek.) |
rotation | The rotation of the vertex (phi in Pajek). |
radius | Radius, for some vertex shapes (r in Pajek). |
diamondratio | For the diamond shape (q in Pajek). |
These igraph attributes are only created if there is at least one vertex
in the Pajek file which has the corresponding associated
information. Eg. if there are vertex coordinates for at least one vertex
then the ‘x’, ‘y’ and possibly also ‘z’
vertex attributes will be created. For those vertices for which the
attribute is not defined, NaN
is assigned.
The following edge attributes might be added:
igraph name | description, Pajek attribute |
weight | Edge weights. |
label | l in Pajek. |
color | Edge color, if the color is given with a symbolic name, c in Pajek. |
color-red, | |
color-green, | |
color-blue | Edge color if it was given in RGB notation, c in Pajek. |
edgewidth | w in Pajek. |
arrowsize | s in Pajek. |
hook1, hook2 | h1 and h2 in Pajek. |
angle1, angle2 | a1 and a2 in Pajek, Bezier curve parameters. |
velocity1, | |
velocity2 | k1 and k2 in Pajek, Bezier curve parameter. |
arrowpos | ap in Pajek. |
labelpos | lp in Pajek. |
labelangle, | |
labelangle2 | lr and lphi in Pajek. |
labeldegree | la in Pajek. |
fontsize | fos in Pajek. |
arrowtype | a in Pajek. |
linepattern | p in Pajek. |
labelcolor | lc in Pajek. |
There are no additional arguments for this format.
See the GraphML homepage at http://graphml.graphdrawing.org for more information about the GraphML format.
Additional arguments:
The resulting graph is always undirected. LGL cannot deal with files which contain multiple or loop edges, this is however not checked here, as a igraph is happy with these.
Additional arguments:
lgl
format is used by the Large Graph Layout
visualization software
(http://bioinformatics.icmb.utexas.edu/lgl), it can describe
undirected optionally weighted graphs. From the LGL manual:
“The second format is the LGL file format (.lgl file
suffix). This is yet another graph file format that tries to be
as stingy as possible with space, yet keeping the edge file in a
human readable (not binary) format. The format itself is like
the following:
# vertex1name vertex2name [optionalWeight] vertex3name [optionalWeight]Here, the first vertex of an edge is preceded with a pound sign '#'. Then each vertex that shares an edge with that vertex is listed one per line on subsequent lines.”
LGL cannot handle loop and multiple edges or directed graphs, but in a igraph it is not an error to have multiple and loop edges.
Additional arguments:
A graph object.
Gabor Csardi csardi@rmki.kfki.hu