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
-
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 are the
graph
[vignette: y] and
Rgraphviz
[vignette: y]
packages on Bioconductor that provide graph data structures and corresponding
plotting capabilities, respectively.
Classical models - General purpose packages
-
ggm
[vignette: n]
Fitting graphical Gaussian models.
-
gRbase
[vignette: y]
The gRbase package provides certain general constructs
which are used by other graphical modelling packages (in
particular by
gRain).
This includes 1) the concept of gmData (graphical meta
data), 2) several graph algorithms 3) facilities for
table operations, 4) functions for testing for
conditional independence. gRbase also illustrates how
hierarchical log-linear models (hllm) may be
implemented.
-
gRapHD
[vignette: y]
Package for selecting and fitting high-dimensional graphical
models for discrete, Gaussian, or mixed discrete and Gaussian
data. Link: http://www.jstatsoft.org/v37/i01
-
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.
-
rbugs
[vignette: n; demo: n]
Fusing R and OpenBugs
-
R2WinBUGS
[vignette: y; demo: n]
Running WinBUGS and OpenBUGS from R / S-PLUS