Creating (small) graphs via a simple interface
This function is useful if you want to create a small (named) graph quickly, it works for both directed and undirected graphs.
graph_from_literal(..., simplify = TRUE)
graph_from_literalthe formulae giving the structure of the graph, see details below. For
from_literalall arguments are passed to
- Logical scalar, whether to call
simplifyon the created graph. By default the graph is simplified, loop and multiple edges are removed.
graph_from_literal is very handy for creating small graphs quickly.
You need to supply one or more R expressions giving the structure of
the graph. The expressions consist of vertex names and edge
operators. An edge operator is a sequence of
If all edge operators consist of only
Let us see some simple examples. Without arguments the function creates an empty graph: graph_from_literal()
A simple undirected graph with two vertices called
Remember that the length of the edges does not matter, so we could have written the following, this creates the same graph: graph_from_literal( A-----B )
If you have many disconnected components in the graph, separate them with commas. You can also give isolate vertices. graph_from_literal( A--B, C--D, E--F, G--H, I, J, K )
In directed graphs, edges will be created only if the edge operator
includes a arrow head (
Mutual edges can be also created with a simple edge operator:
graph_from_literal( A +-+ B +---+ C ++ D + E)
Note again that the length of the edge operators is arbitrary,
If the vertex names include spaces or other special characters then
you need to quote them:
graph_from_literal( "this is" +- "a silly" -+ "graph here" )
You can include any character in the vertex names this way, even
See more examples below.
- An igraph graph
Other determimistic constructors:
# A simple undirected graph g <- graph_from_literal( Alice-Bob-Cecil-Alice, Daniel-Cecil-Eugene, Cecil-Gordon ) g # Another undirected graph, ":" notation g2 <- graph_from_literal( Alice-Bob:Cecil:Daniel, Cecil:Daniel-Eugene:Gordon ) g2 # A directed graph g3 <- graph_from_literal( Alice +-+ Bob --+ Cecil +-- Daniel, Eugene --+ Gordon:Helen ) g3 # A graph with isolate vertices g4 <- graph_from_literal( Alice -- Bob -- Daniel, Cecil:Gordon, Helen ) g4 V(g4)$name # "Arrows" can be arbitrarily long g5 <- graph_from_literal( Alice +---------+ Bob ) g5 # Special vertex names g6 <- graph_from_literal( "+" -- "-", "*" -- "/", "%%" -- "%/%" ) g6