Learn R Programming

ggm (version 2.5)

MAG: Maximal ancestral graph

Description

MAG generates and plots maximal ancestral graphs after marginalisation and conditioning.

Usage

MAG(amat,M=c(),C=c(),showmat=TRUE,plot=FALSE, plotfun = plotGraph, ...)

Value

A matrix that consists 4 different integers as an \(ij\)-element: 0 for a missing edge between \(i\) and \(j\), 1 for an arrow from \(i\) to \(j\), 10 for a full line between \(i\) and \(j\), and 100 for a bi-directed arrow between \(i\) and \(j\). These numbers are added to be associated with multiple edges of different types. The matrix is symmetric w.r.t full lines and bi-directed arrows.

Arguments

amat

An adjacency matrix, or a graph that can be a graphNEL or an igraph object or a vector of length \(3e\), where \(e\) is the number of edges of the graph, that is a sequence of triples (type, node1label, node2label). The type of edge can be "a" (arrows from node1 to node2), "b" (arcs), and "l" (lines).

M

A subset of the node set of a that is going to be marginalized over

C

Another disjoint subset of the node set of a that is going to be conditioned on.

showmat

A logical value. TRUE (by default) to print the generated matrix.

plot

A logical value, FALSE (by default). TRUE to plot the generated graph.

plotfun

Function to plot the graph when plot == TRUE. Can be plotGraph (the default) or drawGraph.

...

Further arguments passed to plotfun.

Author

Kayvan Sadeghi

Details

This function uses the functions AG and Max.

References

Richardson, T. S. and Spirtes, P. (2002). Ancestral graph Markov models. Annals of Statistics, 30(4), 962-1030.

Sadeghi, K. (2011). Stable classes of graphs containing directed acyclic graphs. Submitted.

Sadeghi, K. and Lauritzen, S.L. (2011). Markov properties for loopless mixed graphs. Submitted. URL http://arxiv.org/abs/1109.5909.

See Also

AG, Max, MRG, MSG

Examples

Run this code
ex<-matrix(c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ##The adjacency matrix of a DAG
             0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
             1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
             0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
             0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
             0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,
             0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
             0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
             0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,
             0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,
             0,0,0,0,1,0,1,0,1,1,0,0,0,0,0,0,
             1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
             0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,
             0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
             1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,
             0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0), 16, 16, byrow = TRUE)
M <- c(3,5,6,15,16)
C <- c(4,7)
MAG(ex, M, C, plot=TRUE)
###################################################
H <- matrix(c(0,100,1,0,100,0,100,0,0,100,0,100,0,1,100,0),4,4)
Max(H)

Run the code above in your browser using DataLab