Transformation of a DAG into an essential graph {MXM} | R Documentation |
Transforms a DAG into an essential graph
Description
Transforms a DAG into an essential graph.
Usage
dag2eg(dag, type = NULL)
Arguments
dag |
The graph matrix as produced from |
type |
This can be either NULL or 1 or 2. type = 1 means that the matrix contains 0, 1, 2, 3 where G[i, j] = g[j, i] = 0, means there is no edge between nodes i and j, G[i, j] = g[j, i] = 1, there is an edge between nodes i and j and G[i, j] = 2 and G[j, i] = 3 means that there is an arrow from node i to node j. If type 2, the matrix contains 0 for no edge and 1 for a directed edge. In this case, G[i,j]=1 and G[j,i]=0 means that there is an arrow from node i to node j. If you are not sure of what you have, just leave it NULL, the function will check to which case your matrix belongs. |
Details
The function is an R translation from an old matlab code.
Value
The matrix of the essential graph.
Author(s)
Ioannis Tsamardinos and Michail Tsagris
R implementation and documentation: Ioannis Tsamardinos <tsamard@csd.uoc.gr> and and Michail Tsagris mtsagris@uoc.gr
References
Chickering, D.M. (1995). A transformational characterization of equivalent Bayesian network structures. Proceedings of the 11th Conference on Uncertainty in Artificial Intelligence, Montreal, Canada, 87-98.
See Also
plotnetwork, is.dag, topological_sort
Examples
# simulate a dataset with continuous data
y <- rdag(1000, 10, 0.3)
tru <- y$G
eg <- dag2eg(tru)
par( mfrow = c(1, 2) )
plotnetwork(tru)
plotnetwork(eg)