如何从mcmc RJAGS中提取数据

时间:2014-03-31 20:28:11

标签: r jags r2jags

我正在运行以下模型,我在每个投票周进行测量。每个派对产生100多个alpha载体。可能有问题的是,我怎么能以一种我可以绘制折线图的方式储存它们呢?

model{
  ## measurement 
 for(i in 1:NPOLLS){  
      p1[i] ~ dnorm(alpha1[WoY[i]] + pollster1[org[i]], prec1[i])
       p2[i] ~ dnorm(alpha2[WoY[i]] + pollster2[org[i]], prec2[i])
       p3[i] ~ dnorm(alpha3[WoY[i]] + pollster3[org[i]], prec3[i])

}

## transition 
for(i in 2:NPERIODS){    
    alpha1[i] ~ dnorm(alpha1[i-1],phi1)
    alpha2[i] ~ dnorm(alpha2[i-1],phi2)
    alpha3[i] ~ dnorm(alpha3[i-1],phi3)
 }

pollster1[1] <- -sum(pollster1[2:NPOLLSTERS])
pollster2[1] <- -sum(pollster2[2:NPOLLSTERS])
pollster3[1] <- -sum(pollster3[2:NPOLLSTERS])

## priors
phi1 ~ dgamma(5000,1)     
alpha1[1] ~ dunif(.2,.4) 
phi2 ~ dgamma(5000,1)     
alpha2[1] ~ dunif(.2,.4)
phi3 ~ dgamma(10000,1)     
alpha3[1] ~ dunif(.1,.3)
    for(i in 2:NPOLLSTERS){
    pollster1[i] ~ dnorm(0,.01);    
    pollster2[i] ~ dnorm(0,.01);
    pollster3[i] ~ dnorm(0,.01);
 } }

1 个答案:

答案 0 :(得分:0)

jags函数为这类对象提供一个带有summary泛型函数的mmcm.list对象。 通过str函数在新对象上使用namejags函数,您需要找到mcmc之类的内容。 mcmc子对象是类mcmc.list的矩阵,其中包含n row迭代次数和n col估计参数的后验。所以你可以提取你想要的东西。 mcmc对象的长度等于链的数量。他们还有一个通用的plot.mcmmc函数来绘制后验密度。