Bayesian Statistics: Software Support

This page has a reference character. It links the student with the sources useful for learning the languages and points to the third-party packages, manuals, resources, and programs.

In this course we will mostly use two software packages: Matlab and Bugs. Matlab is a language of choice for communication among engineers. It is easy to grasp, it is powerful, and it has a wealth of packages and support. Bugs/WinBugs is a free stand-alone package for MCMC inference. It has easy sintax and a superb support. For PhD students in Statistics (quite a few at ISyE) the R package is recommended. R is a language of statistics. R is a free S (SPlus) clone and is supported by an army of statisticians. For a student who had not been exposed to S language before R may be on the difficult side. R keeps objects in its internal code making communication with other packages and outside world cumbersome for a novice. At occasions we will use Wolfram's mathematica when exact analytic solutions are needed in nontrivial situations (use of special functions, nonlinear equations, etc).


Matlab (Matrix laboratory) is an interactive software system for numerical computations and graphics. As the name suggests, Matlab is especially designed for matrix and vector computations: solving systems of linear equations, computing eigenvalues and eigenvectors, factoring matrices, and so forth. In addition, it has a variety of graphical capabilities, and can be extended through programs written in its own programming language. Tons of addon packages are available either as commercial Matwork's products or as a freely available user contributions.

Online Resources

Numerous resources for Matlab are available online.

Bugs and WinBugs

BUGS is freely available software for the constructing Bayesian statistical models and evaluating them using Markov-Chain Monte-Carlo (MCMC) methods. BUGS and WINBUGS are distributed freely and are the result of many years of development by a team of statisticians and programmers at the Medical research Council Biostatistics Research Unit in Cambridge, see Bugs Project . Models are represented by a flexible language, and there is also a graphical feature, DOODLEBUGS, that allows users to specify their model in terms of a directed graph. For complex models the latter can be extremely useful.

Online Resources

These manuals are for original BUGS. The examples could be readily modified to WinBUGS. Also,


R is a free statistical programming language based on the S programming language. It provides numerous libraries covering the state-of-art statistical research and is powerful and extensible.

S is a base for R. It has its origins in the AT&T Bell Labs. Beginning in 1976, the S programming language was developed at Bell Labs by John Chambers and collaborators. Version 1 was running on Honeywell mainframes, Version 2 (1980) added Unix support, Version 3 (1988) added functions and objects, and Version 4 (1998) added full support for object-oriented design.

Beginning in 1993, Bell Labs issued an exclusive license to StatSci (later MathSoft). S-Plus is Mathsoft’s commercial implementation of S, and the only way the language is available outside Lucent (unfortunatelly).

The free clone to S, R, was started by Robert Gentleman and Ross Ihaka of the University of Auckland. It is now an open source project that involves hundreds of volunteers from around the world. The development of R is guided through the Comprehensive R Archive network, and full source code, binaries and documentation are available free at the CRAN web site.

Online Resources

Numerous resources for R, S and S-Plus are available online, including


MSBNx is a free Microsoft Windows software application that supports the creation, manipulation and evaluation of Bayesian probability models. Models are represented as a graph or diagram. At the present time, MSBNx only supports discrete distributions for its model variables.

Online Resources

Last Updated: July 27, 2004.
Back to the course main page.