These functions are wrappers for creation of graphs as primarily igraph objects but also as adjacency matrices
ug(..., result ="igraph")ugi(...)ugList(x, result ="igraph")dag(..., result ="igraph", forceCheck =FALSE)dagi(..., forceCheck =FALSE)dagList(x, result ="igraph", forceCheck =FALSE)
Arguments
...: A generating class for a graph, see examples below
result: The format of the graph. The possible choices are "igraph" (for an igraph
object), "matrix" (for an adjacency matrix), "dgCMatrix" (for a sparse matrix).
x: A list or individual components from which a graph can be created.
forceCheck: Logical determining if it should be checked if the graph is acyclical. Yes, one can specify graphs with cycles using the dag() function.
Returns
Functions ug(), and dag() can return a an igraph object, a sparse or a dense adjacency matrix.
Examples
## 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 topoSorttopo_sort( daG2 )topo_sort( daG4 )## Different representationsuG7 <- ug(~a:b:c + c:d, result="igraph")# igraphuG8 <- ug(~a:b:c + c:d, result="matrix")# dense matrixuG9 <- ug(~a:b:c + c:d, result="dgCMatrix")# sparse matrix