Wikipedia
defines a graphical model as
a graph that represents independencies
among random variables by a graph in which each node is a random
variable, and the missing edges between the nodes represent
conditional independencies
.
This task view is a collection of packages intended to supply R code
to deal with graphical models.
The description of each package is accompanied by the statement
[vignette: y/n]. The aim is to give users
indications of to which extent a package is documented beyond the bare
standard documentation.
The packages can be roughly structured into the following topics
(although several of them have functionalities which go across these categories):
Representation, manipulation and display of graphs
-
diagram
[vignette: y]
Functions for visualising simple graphs (networks), plotting flow diagrams
-
dynamicGraph
[vignette: n]
Provides an advanced
graphical user interface for display and interaction with
graphs (based on Tcl/Tk).
-
giRaph
[vignette: n]
Supply classes and methods to represent and manipulate graphs
-
graph
[vignette: y]
A package to handle graph data structures.
-
gRbase
[vignette: y]
An alternative interface to graphs. Uses the
graph
and
RBGL
and implements additional graph
operations.
-
igraph
[vignette: n]
Routines for simple graphs, network analysis.
-
mathgraph
[vignette: n]
Implements matrix representations of graphs and
provide a plot function.
-
network
[vignette: n; demo: n]
Tools to create and modify network objects. The network class can
represent a range of relational data types, and supports arbitrary
vertex/edge/graph attributes.
-
RBGL
[vignette: y]
Interface to boost C++ graph library (based on graph
objects from the
graph
package).
In addition, there is the
Rgraphviz
package on Bioconductor that provides plotting capabilities for R graph
objects (from the
graph
package) [vignette: y].
Classical models - General purpose packages
-
ggm
[vignette: n]
Fitting graphical Gaussian models.
-
gRbase
[vignette: y]
Sets up a
meta data representation which is used by several other
packages (among these are
mimR
and
gRain). gRbase suggests a way to implement models and fitting
engines - illustrated by hierarchical log-linear models.
-
mimR
[vignette: n]
General package for model selection in contingency
tabels, graphical Gaussian models and mixed interaction
models. The package provides an interface to the MIM
program and only runs on Windows.
Miscellaneous: Model search, specialized types of models etc.
-
SIN
[vignette: n]
This package provides routines to perform SIN model selection as
described in Drton and Perlman (2004). The selected models are
represented in the format of the 'ggm' package, which allows in
particular parameter estimation in the selected model.
-
pcalg
[vignette: y]
Standard and robust estimation of the skeleton (ugraph) and the equivalence class
of a Directed Acyclic Graph (DAG) via the PC-Algorithm. The equivalence class is
represented by its (unique) Completed Partially Directed Acyclic Graph (CPDAG).
-
qp
[vignette: n]
This package is deprecated and it is now only a stub for the newer version called
qpgraph available through the Bioconductor project. The q-order partial correlation
graph search algorithm, q-partial, or qp, algorithm for short, is a robust
procedure for structure learning of undirected Gaussian graphical Markov models
from "small n, large p" data, that is, multivariate normal data coming from a
number of random variables p larger than the number of multidimensional data points
n as in the case of, e.g., microarray data.
-
gRc
[vignette: n]
Inference in graphical Gaussian models with edge and vertex
symmetries (Graphical Gaussian models with colours).
-
GeneNet
[vignette: n]
Modeling and Inferring Gene Networks. GeneNet
is a package for analyzing gene expression (time series) data with
focus on the inference of gene networks.
-
parcor
[vignette: n]
The package estimates the matrix of partial correlations based on different regularized
regression methods: lasso, adaptive lasso, PLS, and Ridge Regression. In addition, the package
provides model selection for lasso, adaptive lasso and Ridge
regression based on
cross-validation.
-
catnet
[vignette: y]
A package that handles discrete Bayesian network models and provides
inference using the frequentist approach
Bayesian Networks/Probabilistic expert systems
-
bnlearn
[vignette: n]
Bayesian network structure learning via constraint-based (also known as
'conditional independence') and score-based algorithms. This package implements the
Grow-Shrink (GS) algorithm, the Incremental Association (IAMB) algorithm, the
Interleaved-IAMB (Inter-IAMB) algorithm, the Fast-IAMB (Fast-IAMB) algorithm, the
Max-Min Parents and Children (MMPC) algorithm and the Hill-Climbing (HC) greedy
search algorithm for both discrete and Gaussian networks, along with many score
functions and conditional independence tests. Some utility functions (model
comparison and manipulation, random data generation, arc orientation testing) are
also included.
-
deal
[vignette: n]
Learning Bayesian networks with mixed (discrete and
continuous) variables.
-
gRain
[vignette: y]
A package for probability propagation in graphical
independence networks, also known as probabilistic
expert systems (which includes Bayesian networks as
a special case).
BUGS models
-
bayesmix
[vignette: n; demo: n]
Bayesian mixture models of univariate Gaussian distributions using JAGS
-
boa
[vignette: n; demo: n]
Bayesian Output Analysis Program (BOA) for MCMC.
-
BRugs [vignette: n; demo: n]
An R / S-PLUS package containing OpenBUGS and its R / S-PLUS interface
BRugs. Notice: currently the only supported OS is Windows, we expect to support Linux in
future releases.
-
coda
[vignette: n; demo: n]
Output analysis and diagnostics for Markov Chain Monte Carlo simulations.
-
ergm
[vignette: n; demo: n]
An integrated set of tools to analyze and simulate networks based on
exponential-family random graph models (ERGM). "ergm" is a part of the
statnet
suite of packages for network analysis.
-
G1DBN
[vignette: n; demo: n]
G1DBN performs DBN inference using 1st order conditional dependencies.
-
rbugs
[vignette: n; demo: n]
Fusing R and OpenBugs
-
R2WinBUGS
[vignette: y; demo: n]
Running WinBUGS and OpenBUGS from R / S-PLUS