graph.constructors {igraph} | R Documentation |
These method can create various (mostly regular) graphs: empty graphs, graphs with the given edges, graphs from adjacency matrices, star graphs, lattices, rings, trees.
graph.empty(n=0, directed=TRUE) graph(edges, n=max(edges)+1, directed=TRUE) graph.adjacency(adjmatrix, mode="directed") graph.star(n, mode = "in", center = 0) graph.lattice(dimvector, nei = 1, directed = FALSE, mutual = FALSE, circular = FALSE) graph.lattice(length, dim, nei = 1, directed = FALSE, mutual = FALSE, circular = FALSE) graph.ring(n, directed = FALSE, mutual = FALSE, circular=TRUE) graph.tree(n, children = 2, mode="out") graph.full(n, directed = FALSE, loops = FALSE) graph.atlas(n)
edges |
Numeric vector defining the edges, the first edge points from the first element to the second, the second edge from the third to the fourth, etc. |
adjmatrix |
A square adjacency matrix. |
directed |
Logical, if TRUE a directed graph will be
created. Note that for while most constructors the default is TRUE,
for graph.lattice and graph.ring it is FALSE. For
graph.star the mode argument should be used for
creating an undirected graph. |
n |
The number of vertices in the graph for most functions.
For graph this parameter is ignored if there is a bigger
vertex id in edges . This means that for this function it is
safe to supply zero here if the vertex with the largest id is not an
isolate.
For graph.atlas this is the number (id) of the graph to
create.
|
mode |
For graph.adjacency the possible values of this argument are
For graph.star it defines the direction of the
edges, in : the edges point to the center, out :
the edges point from the center, undirected : the edges
are undirected.
For igraph.tree this parameter defines the direction of the
edges. out indicates that the edges point from the parent to
the children, in indicates that they point from the children
to their parents, while undirected creates an undirected
graph.
|
center |
For graph.star the center vertex of the graph, by
default the first vertex. |
dimvector |
A vector giving the size of the lattice in each
dimension, for graph.lattice . |
nei |
The distance within which (inclusive) the neighbors on the lattice will be connected. This parameter is not used right now. |
mutual |
Logical, if TRUE directed lattices we be mutually connected. |
circular |
Logical, if TRUE the lattice or ring will be circular. |
length |
Integer constant, for regular lattices, the size of the lattice in each dimension. |
dim |
Integer constant, the dimension of the lattice. |
children |
Integer constant, the number of children of a vertex
(except for leafs) for graph.tree . |
loops |
If TRUE also loops edges (self edges) are added. |
graph |
An object. |
All these functions create graphs in a deterministic way.
graph.empty
is the simplest one, this creates an empty graph.
graph
creates a graph with the given edges.
graph.adjacency
creates a graph from an adjacency matrix.
graph.star
creates a star graph, in this every single vertex is
connected to the center vertex and nobody else.
graph.lattice
is a flexible function, it can create lattices of
arbitrary dimensions, periodic or unperiodic ones.
graph.ring
is actually a special case of graph.lattice
,
it creates a one dimensional circular lattice.
graph.tree
creates regular trees.
graph.full
simply creates full graphs.
graph.atlas
creates graphs from the book An Atlas of Graphs by
Roland C. Read and Robin J. Wilson. The atlas contains all undirected
graphs with up to seven vertices, numbered from 0 up to 1252. The
graphs are listed:
Every function documented here returns a graph
object.
Gabor Csardi csardi@rmki.kfki.hu
g1 <- graph.empty() g2 <- graph( c(1,2,2,3,3,4,5,6), directed=FALSE ) adjm <- matrix(sample(0:1, 100, replace=TRUE, prob=c(0.9,0.1)), nc=10) g3 <- graph.adjacency( adjm ) g4 <- graph.star(10, mode="out") g5 <- graph.lattice(c(5,5,5)) g6 <- graph.lattice(length=5, dim=3) g7 <- graph.ring(10) g8 <- graph.tree(10, 2) g9 <- graph.full(5, loops=TRUE) g10 <- graph.atlas(sample(0:1252, 1))