Wikipedia
defines a graphical model as follows:
A graphical model is a
probabilistic model for which a graph denotes the conditional
independence structure between random variables. They are commonly
used in probability theory, statistics - particularly Bayesian
statistics and machine learning.
A supplementary view is that graphical models are based on
exploiting conditional independencies for constructing complex
stochastic models with a modular structure. That is, a complex
stochastic model is built up by simpler building blocks.
This task view is a collection of packages intended to supply R code
to deal with graphical models.
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
Visualises simple graphs (networks) based on a transition matrix,
utilities to plot flow diagrams, visualising webs, electrical
networks, ...
-
DiagrammeR
Create Graph Diagrams and Flowcharts Using R
-
dynamicGraph
Interactive graphical tool for manipulating graphs
-
giRaph
Supply classes and methods to represent and manipulate graphs
-
graph
A package that implements some simple graph handling capabilities.
-
gRbase
The gRbase package provides certain general constructs which are used
by other graphical modelling packages. 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.
-
igraph
Routines for simple graphs, network analysis.
-
mathgraph
Simple tools for constructing and manipulating objects of class
mathgraph from the book "S Poetry", available at
http://www.burns-stat.com/pages/spoetry.html
-
network
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.
-
Rgraphviz
Provides plotting capabilities for R graph objects.
-
RBGL
A fairly extensive and comprehensive interface to the graph algorithms contained in the BOOST library.
(based on graph
objects from the
graph
package).
Classical models - General purpose packages
-
ggm
Fitting graphical Gaussian models.
-
gRbase
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.
Link:
doi:10.18637/jss.v014.i17
-
gRim
Implements graphical interaction models for contingency tables
(i.e. log-linear models) and graphical Gaussian models for the
multivariate normal data (i.e. covariance selection models) and
mixed interaction models.
Miscellaneous: Model search, structure learning, specialized types of models etc.
-
BDgraph
Bayesian Graph Selection Based on Birth-Death
MCMC Approach. Bayesian inference for structure learning in
undirected graphical models. The main target is to uncover
complicated patterns in multivariate data wherein either
continuous or discrete variables.
-
bnstruct
Bayesian Network Structure Learning from
Data with Missing Values.
Bayesian Network Structure Learning from Data with Missing
Values. The package implements the Silander-Myllymaki
complete search, the Max-Min Parents-and-Children, the
Hill-Climbing, the Max-Min Hill-climbing heuristic searches,
and the Structural Expectation-Maximization
algorithm. Available scoring functions are BDeu, AIC,
BIC. The package also implements methods for generating and
using bootstrap samples, imputed data, inference.
-
catnet
A package that handles discrete Bayesian network models and provides
inference using the frequentist approach
-
FBFsearch
Algorithm for searching the space of Gaussian directed acyclic
graphical models through moment fractional Bayes factors
-
GeneNet
Modeling and Inferring Gene Networks. GeneNet
is a package for analyzing gene expression (time series) data with
focus on the inference of gene networks.
-
gRc
Inference in graphical Gaussian models with edge and vertex
symmetries (Graphical Gaussian models with colours).
Link:
doi:10.18637/jss.v023.i06
-
huge
High-dimensional Undirected Graph Estimation.
-
lvnet
lvnet: Latent Variable Network Modeling.
Estimate, fit and compare Structural Equation Models (SEM) and
network models (Gaussian Graphical Models; GGM) using
OpenMx. Allows for two possible generalizations to include GGMs
in SEM: GGMs can be used between latent variables (latent
network modeling; LNM) or between residuals (residual network
modeling; RNM).
-
MXM
Feature Selection (Including Multiple Solutions)
and Bayesian Networks. Feature selection methods for
identifying minimal, statistically-equivalent and
equally-predictive feature subsets. Bayesian network algorithms
and related functions are also included. The package name 'MXM'
stands for "Mens eX Machina", meaning "Mind from the Machine" in
Latin. Link:
doi:10.18637/jss.v080.i07
-
ndtv
Network Dynamic Temporal Visualizations. Renders
dynamic network data from "networkDynamic" objects as animated
movies or other representations of relational structure and node
attributes that change over time.
-
networkDynamic
Dynamic Extensions for Network Objects. Simple interface routines to facilitate the
handling of network objects with complex intertemporal
data. "networkDynamic" is a part of the "statnet" suite of
packages for network analysis.
-
parcor
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.
-
pcalg
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
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.
-
qpgraph
q-order partial correlation graphs, or qp-graphs for short, are
undirected Gaussian graphical Markov models that represent
q-order partial correlations. They are useful for learning
undirected graphical Gaussian Markov models from data sets where
the number of random variables p exceeds the available sample
size n as, for instance, in the case of microarray data where
they can be employed to reverse engineer a molecular regulatory
network.
-
QUIC
Regularized sparse inverse covariance matrix estimation. Use
Newton's method and coordinate descent to solve the regularized
inverse covariance matrix estimation problem.
-
SIN
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.
Bayesian Networks/Probabilistic expert systems
-
abn
A graphical modelling formulation is used to construct Bayesian
regression models for analyses of multivariate data.
-
bnlearn
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
Learning Bayesian networks with mixed (discrete and continuous) variables.
-
gRain
A package for probability propagation in graphical
independence networks, also known as probabilistic
expert systems (which includes Bayesian networks as
a special case).
Link:
doi:10.18637/jss.v046.i10
-
RHugin
The Hugin Decision Engine (HDE) is commercial software produced by
HUGIN EXPERT A/S for building and making inference from Bayesian
belief networks. The RHugin package provides a suite of
functions allowing the HDE to be controlled from within the R
environment for statistical computing. The RHugin package can
thus be used to build Bayesian belief networks, enter and
propagate evidence, and to retrieve beliefs. Additionally, the
RHugin package can read and write hkb and NET files, making it
easy to work simultaneously with both the RHugin package and the
Hugin GUI. A licensed copy of the HDE (or the trial version) is
required for the RHugin package to function, hence the target
audience for the package is Hugin users who would like to take
advantage of the statistical and programmatic capabilities of R.
Notice: RHugin is NOT on CRAN.
Link:
http://rhugin.r-forge.r-project.org/
BUGS models
-
bayesmix
Bayesian mixture models of univariate Gaussian distributions using
JAGS.
-
dclone
Data Cloning and MCMC Tools for Maximum Likelihood Methods. Low
level functions for implementing maximum likelihood estimating
procedures for complex models using data cloning and Bayesian
Markov chain Monte Carlo methods with support for JAGS, WinBUGS
and OpenBUGS. Parallel MCMC computation is supported and can
result in considerable speed-up.
-
boa
boa: Bayesian Output Analysis Program (BOA) for MCMC. A
menu-driven program and library of functions for carrying out
convergence diagnostics and statistical and graphical analysis of
Markov chain Monte Carlo sampling output.
-
BRugs
BRugs: R interface to the OpenBUGS MCMC software.
Fully-interactive R interface to the OpenBUGS software for Bayesian
analysis using MCMC sampling. Runs natively and stably in 32-bit
R under Windows. Versions running on Linux and on 64-bit R under
Windows are in "beta" status and less efficient.
-
coda
coda: Output analysis and diagnostics for MCMC.
Output analysis and diagnostics for Markov Chain Monte Carlo simulations.
-
ergm
ergm: Fit, Simulate and Diagnose Exponential-Family Models for
Networks.
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.
-
R2OpenBUGS
R2OpenBUGS: Running OpenBUGS from R.
Using this package, it is possible to call a BUGS model, summarize
inferences and convergence in a table and graph, and save the
simulations in arrays for easy access in R.
-
R2WinBUGS
Running WinBUGS and OpenBUGS from R / S-PLUS.
Using this package, it is possible to call a BUGS model, summarize
inferences and convergence in a table and graph, and save the
simulations in arrays for easy access in R / S-PLUS. In S-PLUS,
the openbugs functionality and the windows emulation functionality
is not yet available.
-
rbugs
Fusing R and OpenBugs.
Functions to prepare files needed for running BUGS in batch-mode, and
running BUGS from R. Support for Linux and Windows systems with
OpenBugs is emphasized.
-
rjags
rjags: Bayesian graphical models using MCMC.
Interface to the JAGS MCMC library.