graph-create.Rd
These functions are wrappers for creation of graphs as
implemented by graphNEL objects in the graph
package.
ug(..., result = "igraph")
ugi(...)
ugList(x, result = "igraph")
dag(..., result = "igraph", forceCheck = FALSE)
dagi(..., forceCheck = FALSE)
dagList(x, result = "igraph", forceCheck = FALSE)
A generating class for a graph, see examples below
The format of the graph. The possible choices are
"graphNEL" (for a graphNEL
object), "igraph" (for an igraph
object), "matrix" (for an adjacency matrix), "dgCMatrix" (for a
sparse matrix).
A list or individual components from which a graph can be created.
Logical determining if it should be checked if
the graph is acyclical. Yes, one can specify graphs with cycles
using the dag()
function.
Functions ug()
, and dag()
can return a
graphNEL
object, an igraph
object, a sparse or a dense
adjacency matrix.
## The following specifications of undirected graphs are equivalent:
uG1 <- ug(~ a:b:c + c:d)
uG2 <- ug(c("a", "b", "c"), c("c", "d"))
uG3 <- ug(c("a", "b"), c("a", "c"), c("b", "c"), c("c", "d"))
## The following specifications of directed acyclig graphs are equivalent:
daG1 <- dag(~ a:b:c + b:c + c:d)
daG2 <- dag(c("a", "b", "c"), c("b", "c"), c("c", "d"))
## dag() allows to specify directed graphs with cycles:
daG4 <- dag(~ a:b + b:c + c:a) # A directed graph but with cycles
## A check for acyclicity can be done with
## daG5 <- dag(~ a:b + b:c + c:a, forceCheck=TRUE)
## A check for acyclicity is provided by topoSort
topo_sort( daG2 )
#> [1] "d" "c" "b" "a"
topo_sort( daG4 )
#> character(0)
## Different representations
uG7 <- ug(~a:b:c + c:d, result="igraph") # igraph
uG8 <- ug(~a:b:c + c:d, result="matrix") # dense matrix
uG9 <- ug(~a:b:c + c:d, result="dgCMatrix") # sparse matrix