dsep function

Test for d-separation in a DAG

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)

Arguments

  • 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 class

    "graph", see graph-class from the package graph)

  • john.pairs: The shortest path distance matrix for all pairs of nodes as computed (also by default) in johnson.all.pairs.sp from package RBGL.

Returns

TRUE if a and b are d-separated by S in G, otherwise FALSE.

Details

This function checks separation in the moralized graph as explained in Lauritzen (2004).

References

S.L. Lauritzen (2004), Graphical Models, Oxford University Press, Chapter 3.2.2

See Also

dsepTest for a wrapper of this function that can easily be included into skeleton, pc, fci or fciPlus. dsepAM for a similar function for MAGs.

Author(s)

Markus Kalisch (kalisch@stat.math.ethz.ch )

Examples

## 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)