Create undirected and directed graphs
These functions are wrappers for creation of graphs as
implemented by graphNEL objects in the graph
package.
ug(..., result = "graphNEL") ugList(x, result = "graphNEL") dag(..., result = "graphNEL", forceCheck = FALSE) dagList(x, result = "graphNEL", forceCheck = FALSE)
... |
A generating class for a graph, see examples below |
result |
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). |
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 |
Functions ug()
, and dag()
can return a
graphNEL
object, an 'igraph' object, a sparse or a dense
adjacency matrix.
Søren Højsgaard, sorenh@math.aau.dk
## 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")) graph::edges(uG1) graph::nodes(uG1) ## 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")) graph::edges(daG1) graph::nodes(daG2) ## 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 ) topo_sort( daG4 ) ## Different representations uG6 <- ug(~a:b:c + c:d, result="graphNEL") # default 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
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.