我将runjags
R 中模型的输出作为mcmc.list
. 下面是生成 3 个包含 1,000 个样本的链的代码。我想将所有 12 条链修剪到最后 400 个样本。我可以拉开链并将链输出矩阵保存在列表中,但它不再是一个mcmc.list
,我不知道如何将它变成一个 mcmc.list。
以下是一些用于运行runjags
模型并将输出转换为 a 的数据mcmc.list
:
y <- rnorm(100)
jags.model ="
model {
#model
for (i in 1:N){
y[i] ~ dnorm(y.hat[i], tau)
y.hat[i] <- m0
}
#priors
m0 ~ dnorm(0, .0001)
tau <- pow(sigma, -2)
sigma ~ dunif(0, 100)
}
"
jags.data <- list(y = y, N = length(y))
jags.out <- runjags::run.jags(jags.model,
data = jags.data,
n.chains = 3,
adapt = 100,
burnin = 100,
sample = 1000,
monitor = c('m0'))
z <- coda::as.mcmc.list(jags.out)