Test for d-separation in a DAG
This function tests for d-separation of nodes in a DAG.
dsep(a, b, S=NULL, g, john.pairs = NULL)
a |
Label (sic!) of node A |
b |
Label (sic!) of node B |
S |
Labels (sic!) of set of nodes on which it is conditioned, maybe empty |
g |
The Directed Acyclic Graph (object of |
john.pairs |
The shortest path distance matrix for all pairs of
nodes as computed (also by default) in
|
This function checks separation in the moralized graph as explained in Lauritzen (2004).
TRUE if a and b are d-separated by S in G, otherwise FALSE.
Markus Kalisch (kalisch@stat.math.ethz.ch)
S.L. Lauritzen (2004), Graphical Models, Oxford University Press, Chapter 3.2.2
## generate random DAG
p <- 8
set.seed(45)
myDAG <- randomDAG(p, prob = 0.3)
if (require(Rgraphviz)) {
plot(myDAG)
}
## Examples for d-separation
dsep("1","7",NULL,myDAG)
dsep("4","5",NULL,myDAG)
dsep("4","5","2",myDAG)
dsep("4","5",c("2","3"),myDAG)
## Examples for d-connection
dsep("1","3",NULL,myDAG)
dsep("1","6","3",myDAG)
dsep("4","5","8",myDAG)Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.