Learn R Programming

ggm (version 2.2)

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, node1
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
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