Learn R Programming

abn (version 1.3)

essentialGraph: Plot an ABN graphic

Description

Plot an ABN DAG using formula statement or a matrix in using Rgraphviz through the graphAM class

Usage

essentialGraph(dag.m=NULL, 
                      name=NULL, 
                      PDAG = "minimal")

Arguments

dag.m

a matrix or a formula statement (see details for format) defining the network structure, a directed acyclic graph (DAG).

name

a vector of names if the DAG is given via formula, see details.

PDAG

a character value that can be: minimal or complete, see details.

Value

A matrix giving the PDAG.

Details

This function returns an essential graph from a DAG. This can be useful if the learning procedure is defined up to a Markov class of equivalence. A minimal PDAG is defined as only directed edges are those who participate in v-structure. Whereas the completed PDAG: every directed edge corresponds to a compelled edge, and every undirected edge corresponds to a reversible edge.

The dag.m can be provided using a formula statement (similar to glm). A typical formula is ~ node1|parent1:parent2 + node2:node3|parent3. The formula statement have to start with ~. In this example, node1 has two parents (parent1 and parent2). node2 and node3 have the same parent3. The parents names have to exactly match those given in name. : is the separator between either children or parents, | separates children (left side) and parents (right side), + separates terms, . replaces all the variables in name.

References

West, Douglas Brent. Introduction to graph theory. Vol. 2. Upper Saddle River: Prentice hall, (2001).

Further information about abn can be found at: http://www.r-bayesian-networks.org

Examples

Run this code
# NOT RUN {
dag <- matrix(data = c(0,0,0,
                          1,0,0,
                          1,1,0),nrow = 3,ncol = 3)
dist <- list(a="gaussian",b="gaussian",c="gaussian")     
colnames(dag) <- rownames(dag) <- names(dist)
                          
essentialGraph(dag.m = dag)
# }

Run the code above in your browser using DataLab