Learn R Programming

UNIX

One can specify the path to where the Eigen header files are located and also whether to link common C++ files into every DSO/DLL we create or whether to treat the files as an extra library with:

R CMD INSTALL --configure-args='--with-eigen=/home/duncan/local --enable-lib' nimble

or, within R

install.packages("nimble", configure.args = c("--with-eigen=/home/duncan/local", "--enable-lib=true"), repos = NULL)

Windows

Typically, you need the R developer tools (i.e., compiler, make, etc.) to use nimble. Accordingly, it is quite straightforward to install the package from source as you will have the necessary tools already installed. These are available from the Rtools page on CRAN.

To install the package from source, from within R,

install.packages("nimble", type = "source", INSTALL_opts = "--merge-multiarch")

or from a local copy of the source package,

install.packages("nimble_0.6-2.tar.gz", repos = NULL, INSTALL_opts = "--merge-multiarch")

Alternatively, use the shell command (in the DOS Command prompt)

R CMD INSTALL --merge-multiarch nimble_0.6-9.tar.gz

Of course, you can also compile directly from a clone of the git repository:

R CMD INSTALL --merge-multiarch nimble

The --merge-multiarch is necessary when using a version of R that supports both 32 and 64 bit. This option to installation will ensure that create both 32 and 64 bit installations.

Creating a Windows Binary

R CMD build nimble
R CMD INSTALL --build --merge-multiarch nimble_0.6-9.tar.gz

We need to create the .tar.gz file first, hence the first command.

Copy Link

Version

Install

install.packages('nimble')

Monthly Downloads

5,444

Version

1.4.1

License

BSD_3_clause + file LICENSE | GPL (>= 2)

Issues

Pull Requests

Stars

Forks

Maintainer

Christopher Paciorek

Last Published

February 13th, 2026

Functions in nimble (1.4.1)

Interval

Interval calculations
Inverse-Wishart

The Inverse Wishart Distribution
Double-Exponential

The Double Exponential (Laplace) Distribution
Exponential

The Exponential Distribution
Inverse-Gamma

The Inverse Gamma Distribution
Wishart

The Wishart Distribution
MultivariateNormal

The Multivariate Normal Distribution
StickBreakingFunction

The Stick Breaking Function
Rmatrix2mvOneVar

Set values of one variable of a modelValues object from an R matrix
RmodelBaseClass-class

Class RmodelBaseClass
any_na

Determine if any values in a vector are NA or NaN
Multinomial

The Multinomial Distribution
as.carAdjacency

Convert CAR structural parameters to adjacency, weights, num format
as.carCM

Convert weights vector to parameters of dcar_proper distributio
Multivariate-t

The Multivariate t Distribution
asRow

Turn a numeric vector into a single-row or single-column matrix
buildLiuWestFilter

Placeholder for buildLiuWestFilter
buildLaplace

Placeholder for buildLaplace
autoBlock

Automated parameter blocking procedure for efficient MCMC sampling
buildEnsembleKF

Placeholder for buildEnsembleKF
buildAuxiliaryFilter

Placeholder for buildAuxiliaryFilter
buildIteratedFilter2

Placeholder for buildIteratedFilter2
buildAGHQ

Placeholder for buildAGHQ
buildMCEM

Builds an MCEM algorithm for a given NIMBLE model
buildBootstrapFilter

Placeholder for buildBootstrapFilter
carMaxBound

Calculate the upper bound for the autocorrelation parameter of the dcar_proper distribution
carBounds

Calculate bounds for the autocorrelation parameter of the dcar_proper distribution
buildMCMC

Create an MCMC object from a NIMBLE model, or an MCMC configuration object
checkInterrupt

Check for interrupt (e.g. Ctrl-C) during nimbleFunction execution. Part of the NIMBLE language.
carMinBound

Calculate the lower bound for the autocorrelation parameter of the dcar_proper distribution
buildMacro

EXPERIMENTAL: Turn a function into a model macro
clearCompiled

Clear compiled objects from a project and unload shared library
compileNimble

compile NIMBLE models and nimbleFunctions
codeBlockClass-class

Class codeBlockClass
calculateWAIC

Calculating WAIC using an offline algorithm
decide

Makes the Metropolis-Hastings acceptance decision, based upon the input (log) Metropolis-Hastings ratio
decideAndJump

Creates a nimbleFunction for executing the Metropolis-Hastings jumping decision, and updating values in the model, or in a carbon copy modelValues object, accordingly.
configureMCMC

Build the MCMCconf object for construction of an MCMC object
distributionInfo

Get information about a distribution
derived_BASE

MCMC Derived Quantities
deregisterDistributions

Remove user-supplied distributions from use in NIMBLE BUGS models
declare

Explicitly declare a variable in run-time code of a nimbleFunction
eigenNimbleList

eigenNimbleList definition
expAv

Matrix Exponential times a vector
configureRJ

Configure Reversible Jump for Variable Selection
getMacroParameters

EXPERIMENTAL: Get list of parameter names generated by model macros
getParam

Get value of a parameter of a stochastic node in a model
flat

The Improper Uniform Distribution
expm

Matrix Exponential
getBound

Get value of bound of a stochastic node in a model
getConditionallyIndependentSets

Get a list of conditionally independent sets of nodes in a nimble model
extractControlElement

Extract named elements from MCMC sampler control list
getDefinition

Get nimbleFunction definition
getNimbleOption

Get NIMBLE Option
getBUGSexampleDir

Get the directory path to one of the classic BUGS examples installed with NIMBLE package
getsize

Returns number of rows of modelValues
makeParamInfo

Make an object of information about a model-parameter pairing for getParam. Used internally
is.nl

check if a nimbleList
makeBoundInfo

Make an object of information about a model-bound pairing for getBound. Used internally
makeModelDerivsInfo

Information on model structure used for derivatives
modelBaseClass-class

Class modelBaseClass
is.nf

check if a nimbleFunction
identityMatrix

Create an Identity matrix (Deprecated)
getSamplesDPmeasure

Get posterior samples for a Dirichlet process distribution (measure)
initializeModel

Performs initialization of nimble model node values and log probabilities
nimCopy

Copying function for NIMBLE
nimCat

cat function for use in nimbleFunctions
nfVar

Access or set a member variable of a nimbleFunction
nimDerivs

Nimble Derivatives
nfMethod

access (call) a member function of a nimbleFunction
modelValues

Create a NIMBLE modelValues Object
modelValuesBaseClass-class

Class modelValuesBaseClass
modelValuesConf

Create the confs for a custom NIMBLE modelValues object
modelInitialization

Information on initial values in a NIMBLE model
modelDefClass-class

Class for NIMBLE model definition
nimIntegrate

Integration of One-Dimensional Functions
nimEigen

Spectral Decomposition of a Matrix
nimDim

return sizes of an object whether it is a vector, matrix or array
nimOptimDefaultControl

Creates a default control argument for nimOptim.
nimOptimMethod

Set or get an optimization function to be used by nimOptim
nimNumeric

Creates numeric, integer or logical vectors for use in nimbleFunctions
nimOptim

General-purpose Optimization
nimStop

Halt execution of a nimbleFunction function method. Part of the NIMBLE language
nimMatrix

Creates matrix or array objects for use in nimbleFunctions
nimPrint

print function for use in nimbleFunctions
nimbleExternalCall

Create a nimbleFunction that wraps a call to external compiled code
nimble-internal

Functions and Classes Internal to NIMBLE
nimble-math

Mathematical functions for BUGS and nimbleFunction programming
nimbleFunctionBase-class

Class nimbleFunctionBase
nimbleFunction

create a nimbleFunction
nimbleCode

Turn BUGS model code into an object for use in nimbleModel or readBUGSmodel
nimSvd

Singular Value Decomposition of a Matrix
nimble-R-functions

NIMBLE language functions for R-like vector construction
nimble-package

nimble: MCMC, Particle Filtering, and Programmable Hierarchical Modeling
nimbleFunctionList-class

Create a list of nimbleFunctions
optimControlNimbleList

Data type for the control parameter of nimOptim
nimbleType-class

create a nimbleType object
nimbleMCMC

Executes one or more chains of NIMBLE's default MCMC algorithm, for a model specified using BUGS code
nimbleOptions

NIMBLE Options Settings
nimbleModel

Create a NIMBLE model from model code
nimbleRcall

Make an R function callable from compiled nimbleFunctions (including nimbleModels).
nimbleList

create a nimbleList
nimbleFunctionVirtual

create a virtual nimbleFunction, a base class for other nimbleFunctions
optimDefaultControl

nodeFunctions

calculate, calculateDiff, simulate, or get the current log probabilities (densities) a set of nodes in a NIMBLE model
run.time

Time execution of NIMBLE code
parameterTransform

Automated transformations of model nodes to unconstrained scales
runAGHQ

Placeholder for runAGHQ
rankSample

Generates a weighted sample (with replacement) of ranks
resize

Resizes a modelValues object
printErrors

Print error messages after failed compilation
optimResultNimbleList

Data type for the return value of nimOptim
pow_int

Power function for integer-valued exponent
readBUGSmodel

Create a NIMBLE BUGS model from a variety of input formats, including BUGS model files
registerDistributions

Add user-supplied distributions for use in NIMBLE BUGS models
runLaplace

Placeholder for runLaplace
setupOutputs

Explicitly declare objects created in setup code to be preserved and compiled as member data
setSize

set the size of a numeric variable in NIMBLE
setupMargNodes

Organize model nodes for marginalization
setAndCalculateOne

Creates a nimbleFunction for setting the value of a scalar model node, calculating the associated deterministic dependents and logProb values, and returning the total sum log-probability.
runMCMC

Run one or more chains of an MCMC algorithm and return samples, summary and/or WAIC
simNodes

Basic nimbleFunctions for calculate, simulate, and getLogProb with a set of nodes
runCrossValidate

Perform k-fold cross-validation on a NIMBLE model fit by MCMC
setAndCalculate

Creates a nimbleFunction for setting the values of one or more model nodes, calculating the associated deterministic dependents and logProb values, and returning the total sum log-probability.
sampler_BASE

MCMC Sampling Algorithms
t

The t Distribution
summaryAGHQ

Placeholder for summaryAGHQ
summaryLaplace

Placeholder for summaryLaplace
values

Access or set values for a set of nodes in a model
testBUGSmodel

Tests BUGS examples in the NIMBLE system
valueInCompiledNimbleFunction

get or set value of member data from a compiled nimbleFunction using a multi-interface
simNodesMV

Basic nimbleFunctions for using a NIMBLE model with sets of stored values
waic

Using WAIC
singleVarAccessClass-class

Class singleVarAccessClass
svdNimbleList

svdNimbleList definition
withNimbleOptions

Temporarily set some NIMBLE options.
waicDetailsNimbleList

waicDetailsNimbleList definition
waicNimbleList

waicNimbleList definition
ADproxyModelClass-class

create an ADproxyModelClass object
BUGSdeclClass-class

BUGSdeclClass contains the information extracted from one BUGS declaration
ADbreak

NIMBLE language function to break tracking of derivatives
ADNimbleList

Data type for the return value of nimDerivs
CAR_calcNumIslands

Calculate number of islands based on a CAR adjacency matrix.
Categorical

The Categorical Distribution
ChineseRestaurantProcess

The Chinese Restaurant Process Distribution
CmodelBaseClass-class

Class CmodelBaseClass
CAR-Normal

The CAR-Normal Distribution
LKJ

The LKJ Distribution for the Cholesky Factor of a Correlation Matrix
MCMCconf-class

Class MCMCconf
CAR-Proper

The CAR-Proper Distribution
CnimbleFunctionBase-class

Class CnimbleFunctionBase
Dirichlet

The Dirichlet Distribution
Constraint

Constraint calculations in NIMBLE