codaSamples {dclone} | R Documentation |
Generate posterior samples in mcmc.list format
Description
This function sets a trace
monitor for all requested nodes, updates the model and coerces the
output to a single mcmc.list
object.
This function uses coda.samples
but keeps track
of data cloning information supplied via the model
argument.
Usage
codaSamples(model, variable.names, n.iter, thin = 1, na.rm = TRUE, ...)
Arguments
model |
a jags model object |
variable.names |
a character vector giving the names of variables to be monitored |
n.iter |
number of iterations to monitor |
thin |
thinning interval for monitors |
na.rm |
logical flag that indicates whether variables containing
missing values should be omitted. See details in help page
of |
... |
optional arguments that are passed to the update method for jags model objects |
Value
An mcmc.list
object. An n.clones
attribute is attached
to the object, but unlike in jags.fit
there is no
updated.model
attribute as it is equivalent to the
input jags model object.
Author(s)
Peter Solymos, solymos@ualberta.ca
See Also
coda.samples
,
update.jags
,
jags.model
Parallel version: parCodaSamples
Examples
## Not run:
model <- function() {
for (i in 1:N) {
Y[i] ~ dnorm(mu[i], tau)
mu[i] <- alpha + beta * (x[i] - x.bar)
}
x.bar <- mean(x[])
alpha ~ dnorm(0.0, 1.0E-4)
beta ~ dnorm(0.0, 1.0E-4)
sigma <- 1.0/sqrt(tau)
tau ~ dgamma(1.0E-3, 1.0E-3)
}
## data generation
set.seed(1234)
N <- 100
alpha <- 1
beta <- -1
sigma <- 0.5
x <- runif(N)
linpred <- crossprod(t(model.matrix(~x)), c(alpha, beta))
Y <- rnorm(N, mean = linpred, sd = sigma)
jdata <- dclone(list(N = N, Y = Y, x = x), 2, multiply="N")
jpara <- c("alpha", "beta", "sigma")
## jags model
res <- jagsModel(file=model, data=jdata, n.chains = 3, n.adapt=1000)
nclones(res)
update(res, n.iter=1000)
nclones(res)
m <- codaSamples(res, jpara, n.iter=2000)
summary(m)
nclones(m)
## End(Not run)