# dsep: Test for d-separation in a DAG In pcalg: Methods for Graphical Models and Causal Inference

## Description

This function tests for d-separation of nodes in a DAG.

## Usage

 `1` ```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.

## Details

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

## Value

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

## Author(s)

Markus Kalisch ([email protected])

## References

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

`dsepTest` for a wrapper of this function that can easily be included into `skeleton`, `pc` or `fci`

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18``` ```## 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) ```

### Example output

```Loading required package: Rgraphviz

Attaching package: 'BiocGenerics'

The following objects are masked from 'package:parallel':

clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB

The following objects are masked from 'package:stats':

The following objects are masked from 'package:base':

Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, cbind, colnames, do.call, duplicated, eval, evalq,
get, grep, grepl, intersect, is.unsorted, lapply, lengths, mapply,
match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank,
rbind, rownames, sapply, setdiff, sort, table, tapply, union,
unique, unsplit, which, which.max, which.min

[1] TRUE
[1] TRUE
Warning message:
In bfs(object, node, TRUE) :
graph is not connected; returning bfs applied to each connected component
[1] TRUE
[1] TRUE
[1] FALSE
[1] FALSE
[1] FALSE
```

pcalg documentation built on June 5, 2018, 1:05 a.m.