What is NIMBLE?

NIMBLE is a system for building and sharing analysis methods for statistical models, especially for hierarchical models and computationally-intensive methods. NIMBLE is built in R but compiles your models and algorithms using C++ for speed.  It includes three components:

  1. A system for using models written in the BUGS language as programmable objects in R.
  2. An initial library of algorithms for BUGS models, including basic MCMC, which can be used directly or can be customized from R before being compiled and run.
  3. A language embedded in R for programming algorithms for BUGS models, both of which are compiled through C++ code and loaded into R.

NIMBLE can also be used without BUGS models as a way to compile simple R-like code into C++, which is then compiled and loaded into R with an interface function or object.

We released our first version, 0.1, in June 2014 and the current version is version 0.6-3. You can do quite a bit with it, but you can also expect it to be a bit rough in places and incomplete. If you want to analyze data, we hope you will find something already useful, such as the default MCMC. If you want to build algorithms, we hope you will program in NIMBLE and make an R package providing your method.

The development of NIMBLE has been funded by an NSF Advances in Biological Informatics grant (DBI-1147230) to P. de Valpine, C. Paciorek, and D. Temple Lang, with additional support provided by postdoctoral funding for D. Turek from the Berkeley Institute for Data Science.