nimble: MCMC, Particle Filtering, and Programmable Hierarchical Modeling

A system for writing hierarchical statistical models largely compatible with 'BUGS' and 'JAGS', writing nimbleFunctions to operate models and do basic R-style math, and compiling both models and nimbleFunctions via custom-generated C++. 'NIMBLE' includes default methods for MCMC, Laplace Approximation, Monte Carlo Expectation Maximization, and some other tools. The nimbleFunction system makes it easy to do things like implement new MCMC samplers from R, customize the assignment of samplers to different parts of a model from R, and compile the new samplers automatically via C++ alongside the samplers 'NIMBLE' provides. 'NIMBLE' extends the 'BUGS'/'JAGS' language by making it extensible: New distributions and functions can be added, including as calls to external compiled code. Although most people think of MCMC as the main goal of the 'BUGS'/'JAGS' language for writing models, one can use 'NIMBLE' for writing arbitrary other kinds of model-generic algorithms as well. A full User Manual is available at <>.

Version: 1.2.0
Depends: R (≥ 3.1.2)
Imports: methods, igraph, coda, R6, pracma, numDeriv
Suggests: testthat, mcmcse
Published: 2024-06-09
DOI: 10.32614/CRAN.package.nimble
Author: Perry de Valpine [aut], Christopher Paciorek [aut, cre], Daniel Turek [aut], Nick Michaud [aut], Cliff Anderson-Bergman [aut], Fritz Obermeyer [aut], Claudia Wehrhahn Cortes [aut] (Bayesian nonparametrics system), Abel Rodríguez [aut] (Bayesian nonparametrics system), Duncan Temple Lang [aut] (packaging configuration), Wei Zhang [aut] (Laplace approximation), Sally Paganin [aut] (reversible jump MCMC), Joshua Hug [aut] (WAIC), Paul van Dam-Bates [aut] (AGHQ approximation, Pólya-Gamma sampler, nimIntegrate), Jagadish Babu [ctb] (code for the compilation system for an early version of NIMBLE), Lauren Ponisio [ctb] (contributions to the cross-validation code), Peter Sujan [ctb] (multivariate t distribution code)
Maintainer: Christopher Paciorek <paciorek at>
License: BSD_3_clause + file LICENSE | GPL-2 | GPL-3 [expanded from: BSD_3_clause + file LICENSE | GPL (≥ 2)]
Copyright: See COPYRIGHTS file.
nimble copyright details
NeedsCompilation: yes
SystemRequirements: GNU make
Citation: nimble citation info
In views: Bayesian, MixedModels
CRAN checks: nimble results [issues need fixing before 2024-08-03]


Reference manual: nimble.pdf


Package source: nimble_1.2.0.tar.gz
Windows binaries: r-devel:, r-release:, r-oldrel:
macOS binaries: r-release (arm64): nimble_1.2.0.tgz, r-oldrel (arm64): nimble_1.2.0.tgz, r-release (x86_64): nimble_1.2.0.tgz, r-oldrel (x86_64): nimble_1.2.0.tgz
Old sources: nimble archive

Reverse dependencies:

Reverse depends: baorista, BayesNSGP, bcgam, compareMCMCs, nimbleAPT, nimbleCarbon, nimbleEcology, nimbleHMC, nimbleNoBounds, nimbleSCR, nimbleSMC
Reverse imports: InvStablePrior, saeHB, scPloidy
Reverse suggests: bridgesampling, camtrapR, postpack, runMCMCbtadjust


Please use the canonical form to link to this page.