codaSamples function

Generate posterior samples in mcmc.list format

Generate posterior samples in mcmc.list format

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.

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 coda.samples.
  • ...: optional arguments that are passed to the update method for jags model objects

Returns

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)