Learn R Programming

ggm (version 2.3)

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, …)

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.

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.

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
# NOT RUN {
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