| nimCopy {nimble} | R Documentation |
Copies values from a NIMBLE model or modelValues object to another NIMBLE model or modelValues. Work in R and NIMBLE. The NIMBLE keyword copy is identical to nimCopy
nimCopy(from, to, nodes = NULL, nodesTo = NULL, row = NA, rowTo = NA, logProb = FALSE, logProbOnly = FALSE)
from |
Either a NIMBLE model or modelValues object |
to |
Either a NIMBLE model or modelValues object |
nodes |
The nodes of object |
nodesTo |
The nodes of object |
row |
If |
rowTo |
If |
logProb |
A logical value indicating whether the log probabilities of the given nodes should also be copied (i.e. if |
logProbOnly |
A logical value indicating whether only the log probabilities of the given nodes should be copied (i.e. if |
See the User Manual for more details
Clifford Anderson-Bergman
# Building model and modelValues object
simpleModelCode <- nimbleCode({
for(i in 1:100)
x[i] ~ dnorm(0,1)
})
rModel <- nimbleModel(simpleModelCode)
rModelValues <- modelValues(rModel)
#Setting model nodes
rModel$x <- rnorm(100)
#Using nimCopy in R.
nimCopy(from = rModel, to = rModelValues, nodes = 'x', rowTo = 1)
#Use of nimCopy in a simple nimbleFunction
cCopyGen <- nimbleFunction(
setup = function(model, modelValues, nodeNames){},
run = function(){
nimCopy(from = model, to = modelValues, nodes = nodeNames, rowTo = 1)
}
)
rCopy <- cCopyGen(rModel, rModelValues, 'x')
## Not run:
cModel <- compileNimble(rModel)
cCopy <- compileNimble(rCopy, project = rModel)
cModel[['x']] <- rnorm(100)
cCopy$run() ## execute the copy with the compiled function
## End(Not run)