Description Usage Arguments Details Author(s)
simulate, calculate, or get existing log probabilities for the current values in a NIMBLE model
1 | simNodes(model, nodes)
|
model |
A NIMBLE model |
nodes |
A set of nodes. If none are provided,
default is all |
These are basic nimbleFunctions that take a model and set
of nodes and return a function that will call
calculate
, simulate
, or getLogProb
on
those nodes. Each is equivalent to a direct call from R,
but in nimbleFunction form they can be be compiled and can
be put into a nimbleFunctionList. For example,
myCalc <- calcNodes(model, nodes); ans <- myCalc()
is equivalent to ans <- calculate(model, nodes)
, but
one can also do CmyCalc <- compileNimble(myCalc)
to
get a faster version.
In nimbleFunctions, for only one set of nodes, it is
equivalent or slightly better to simply use
calculate(model, nodes)
in the run-time code. The
compiler will process the model-nodes combination in the
same way as would occur by creating a specialized
calcNodes
in the setup code. However, if there are
multiple sets of nodes, one can do the following:
Setup code: myCalcs <- nimbleFunctionList(calcNodes);
myCalcs[[1]] <- calcNodes(model, nodes[[1]]); myCalcs[[2]]
<- calcNodes[[2]]
Run code: for(i in seq_along(myCalcs)) {ans[i] <-
myCalcs[[i]]()}
Perry de Valpine
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.