非常によく混じった2つのチェーン(チェーン1と3)とチェーン2(チェーン2)を持つrunjagsオブジェクトがあります。チェーン1と3だけを含むようにrunjagsオブジェクトをトリミングするにはどうすればいいですか?Runjagsオブジェクトからチェーンを削除するR
ランナーを使ってJAGSモデルを生成するという再現可能な例があります(ここでチェーンはよく混在していますが)。
trim.jags <- as.mcmc.list(jags.out)
trim.jags <- mcmc.list(trim.jags[[1]], trimjags[[3]])
しかし、一度この方向に変換され、データができません。これを達成する
library(runjags)
#generate the data
x <- seq(1,10, by = 0.1)
y <- x + rnorm(length(x))
#write a jags model
j.model = "
model{
#this is the model loop.
for(i in 1:N){
y[i] ~dnorm(y.hat[i], tau)
y.hat[i] <- m*x[i]
}
#priors
m ~ dnorm(0, .0001)
tau <- pow(sigma, -2)
sigma ~ dunif(0, 100)
}
"
#put data in a list.
data = list(y=y, x=x, N=length(y))
#run the jags model.
jags.out <- run.jags(j.model,
data = data,
n.chains=3,
monitor=c('m'))
一つの方法は、次のコードを使用してチェーンを削除、runjagsはmcmc.list
に反対変換することですrunjags形式に戻します。現在のワークフローはrunjagsサマリ出力によって生成されたフォーマットに依存しているので、出力をrunjags形式で保持するソリューションが本当に好きです。
あなたは[再現可能な例](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-を提供する場合、あなたを助けるために容易になるだろうたとえば、サンプル入力データ、実行しているコード、およびその入力の希望出力を表示します。 – MrFlick
rjags/codaのように小さなrunjagsの例を追加できますか?mcmc.listは通常のリストと同じサブセットにすることができます – user20650