| MCMC-object-conversion {mcmcsae} | R Documentation |
Convert a draws component object to another format
Description
Use to_mcmc to convert a draws component to class mcmc.list,
allowing one to use MCMC diagnostic functions provided by package coda.
Use as.array to convert to an array of dimension (draws, chains, parameters).
The array format is supported by some packages for analysis or visualisation of MCMC
simulation results, e.g. bayesplot.
Use as.matrix to convert to a matrix, concatenating the chains.
Finally, use to_draws_array to convert either a draws component or
(a subset of components of) an mcdraws object to a draws_array object
as defined in package posterior.
Usage
to_mcmc(x)
to_draws_array(x, components = NULL)
## S3 method for class 'dc'
as.array(x, ...)
## S3 method for class 'dc'
as.matrix(x, colnames = TRUE, ...)
Arguments
x |
a component of an mcdraws object corresponding to a scalar or vector model parameter. |
components |
optional character vector of names of draws components in an mcdraws object.
This can be used to select a subset of components to convert to
|
... |
currently ignored. |
colnames |
whether column names should be set. |
Value
The draws component(s) coerced to an mcmc.list object,
a draws_array object, an array, or a matrix.
Examples
data(iris)
sampler <- create_sampler(Sepal.Length ~ reg(~ Petal.Length + Species, name="beta"), data=iris)
sim <- MCMCsim(sampler, burnin=100, n.chain=2, n.iter=400)
summary(sim)
if (require("coda", quietly=TRUE)) {
mcbeta <- to_mcmc(sim$beta)
geweke.diag(mcbeta)
}
if (require("posterior", quietly=TRUE)) {
mcbeta <- to_draws_array(sim$beta)
mcbeta
draws <- to_draws_array(sim)
str(draws)
}
str(as.array(sim$beta))
str(as.matrix(sim$beta))
# generate some example data
n <- 250
dat <- data.frame(x=runif(n), f=as.factor(sample(1:5, n, replace=TRUE)))
gd <- generate_data(~ reg(~ x + f, prior=pr_normal(precision=1), name="beta"), data=dat)
dat$y <- gd$y
sampler <- create_sampler(y ~ reg(~ x + f, name="beta"), data=dat)
sim <- MCMCsim(sampler, n.chain=2, n.iter=400)
str(sim$beta)
str(as.array(sim$beta))
bayesplot::mcmc_hist(as.array(sim$beta))
bayesplot::mcmc_dens_overlay(as.array(sim$beta))
# fake data simulation check:
bayesplot::mcmc_recover_intervals(as.array(sim$beta), gd$pars$beta)
bayesplot::mcmc_recover_hist(as.array(sim$beta), gd$pars$beta)
ex <- mcmcsae_example()
plot(ex$dat$fT, ex$dat$y)
sampler <- create_sampler(ex$model, data=ex$dat)
sim <- MCMCsim(sampler, n.chain=2, n.iter=400, store.all=TRUE)
str(sim$beta)
str(as.matrix(sim$beta))
# fake data simulation check:
bayesplot::mcmc_recover_intervals(as.matrix(sim$beta), ex$pars$beta)
bayesplot::mcmc_recover_intervals(as.matrix(sim$u), ex$pars$u)