Package: nimble Title: MCMC, Particle Filtering, and Programmable Hierarchical Modeling Description: 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, deterministic nested approximations, 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.4.2 Date: 2026-04-01 Maintainer: Christopher Paciorek Authors@R: c( person("Perry", "de Valpine", role = "aut"), person("Christopher", "Paciorek", , "paciorek@stat.berkeley.edu", role = c("aut", "cre")), person("Daniel", "Turek", role = "aut"), person("Nick", "Michaud", role = "aut"), person("Cliff", "Anderson-Bergman", role = "aut"), person("Fritz", "Obermeyer", role = "aut"), person("Claudia", "Wehrhahn Cortes", role = "aut", comment = "Bayesian nonparametrics system"), person("Abel", "Rodr\u00edguez", role = "aut", comment = "Bayesian nonparametrics system"), person("Duncan", "Temple Lang", role = "aut", comment = "packaging configuration"), person("Wei", "Zhang", role = "aut", comment = "node marginalization"), person("Sally", "Paganin", role = "aut", comment = "reversible jump MCMC"), person("Joshua", "Hug", role = "aut", comment = "WAIC"), person("Paul", "van Dam-Bates", role = "aut", comment = "P\u00f3lya-Gamma sampler, nimIntegrate, matrix exponential"), person("Jagadish", "Babu", role = "ctb", comment = "code for the compilation system for an early version of NIMBLE"), person("Lauren", "Ponisio", role = "ctb", comment = "contributions to the cross-validation code"), person("Peter", "Sujan", role = "ctb", comment = "multivariate t distribution code") ) Depends: R (>= 3.1.2) Imports: methods,igraph,coda,R6,pracma,numDeriv Suggests: testthat,mcmcse,nloptr,nimbleQuad URL: https://r-nimble.org, https://github.com/nimble-dev/nimble BugReports: https://github.com/nimble-dev/nimble/issues SystemRequirements: GNU make License: BSD_3_clause + file LICENSE | GPL (>= 2) Copyright: See COPYRIGHTS file. Note: For convenience, the package includes the necessary header files for the Eigen distribution. (This is all that is needed to use that functionality.) You can use an alternative installation of Eigen on your system or the one we provide. The license for the Eigen code is very permissive and allows us to distribute it with this package. See and also the License section on that page. Encoding: UTF-8 Collate: config.R all_utils.R options.R distributions_inputList.R distributions_processInputList.R distributions_implementations.R BUGS_BUGSdecl.R BUGS_contexts.R BUGS_nimbleGraph.R BUGS_modelDef.R BUGS_model.R BUGS_graphNodeMaps.R BUGS_readBUGS.R BUGS_macros.R BUGS_testBUGS.R BUGS_getDependencies.R BUGS_utils.R BUGS_mathCompatibility.R externalCalls.R genCpp_exprClass.R genCpp_operatorLists.R genCpp_RparseTree2exprClasses.R genCpp_initSizes.R genCpp_buildIntermediates.R genCpp_processSpecificCalls.R genCpp_sizeProcessing.R genCpp_toEigenize.R genCpp_insertAssertions.R genCpp_maps.R genCpp_liftMaps.R genCpp_eigenization.R genCpp_addDebugMarks.R genCpp_generateCpp.R RCfunction_core.R RCfunction_compile.R nimbleFunction_util.R nimbleFunction_core.R nimbleFunction_nodeFunction.R nimbleFunction_nodeFunctionNew.R nimbleFunction_Rderivs.R nimbleFunction_Rexecution.R nimbleFunction_compile.R nimbleFunction_keywordProcessing.R nimbleList_core.R types_util.R types_symbolTable.R types_modelValues.R types_modelValuesAccessor.R types_modelVariableAccessor.R types_nimbleFunctionList.R types_nodeFxnVector.R types_numericLists.R cppDefs_utils.R cppDefs_variables.R cppDefs_core.R cppDefs_namedObjects.R cppDefs_ADtools.R cppDefs_BUGSmodel.R cppDefs_RCfunction.R cppDefs_nimbleFunction.R cppDefs_nimbleList.R cppDefs_modelValues.R cppDefs_cppProject.R cppDefs_outputCppFromRparseTree.R cppInterfaces_utils.R cppInterfaces_models.R cppInterfaces_modelValues.R cppInterfaces_nimbleFunctions.R cppInterfaces_otherTypes.R nimbleProject.R initializeModel.R parameterTransform.R CAR.R MCMC_utils.R MCMC_configuration.R MCMC_build.R MCMC_run.R MCMC_samplers.R MCMC_derived.R MCMC_conjugacy.R MCMC_autoBlock.R MCMC_RJ.R MCMC_WAIC.R MCEM_build.R crossValidation.R BNP_distributions.R BNP_samplers.R setupMargNodes.R NF_utils.R miscFunctions.R normTooling.R miscAlgorithms.R makevars.R setNimbleInternalFunctions.R registration.R nimble-package.r zzz.R RoxygenNote: 7.3.2 Config/pak/sysreqs: libglpk-dev make libxml2-dev Repository: https://nimble-dev.r-universe.dev Date/Publication: 2026-04-01 19:47:36 UTC RemoteUrl: https://github.com/nimble-dev/nimble RemoteRef: HEAD RemoteSha: 812894c537a6679955456f373922e2f2208d5119 RemoteSubdir: packages/nimble NeedsCompilation: yes Packaged: 2026-06-24 09:41:25 UTC; root 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] (node marginalization), Sally Paganin [aut] (reversible jump MCMC), Joshua Hug [aut] (WAIC), Paul van Dam-Bates [aut] (Pólya-Gamma sampler, nimIntegrate, matrix exponential), 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)