我在R中将runjags
模型的输出作为mcmc.list
。下面是生成3个1,000个样本链的代码。我想将所有12个链条修剪成最后400个样品。我可以拆开链并在列表中保存链输出的矩阵,但它不再是mcmc.list
,我无法弄清楚如何将其转回mcmc.list。
以下是运行runjags
模型的一些数据,并将输出转换为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)
答案 0 :(得分:2)
最简单的方法是使用窗口:
library('coda')
z3 <- as.mcmc.list(lapply(z, function(x) as.mcmc(x[601:1000,])))
summary(z3)
另见:
var geojsonLayer = new L.GeoJSON.AJAX("xxx.geojson", {
style: function (feature) { // Style option
console.log("feature", feature);
return {
'weight' : 1,
'color' : 'black',
'fillColor' : 'yellow'
}
}
});
geojsonLayer.addTo(map);
或者,您可以使用as.mcmc和as.mcmc.list将截断的矩阵(列表)转换回mcmc.list对象:
pandas.concat
但如果我是你,我会坚持使用窗户!
马特