如何在jags中定义临时局部变量?

时间:2013-12-04 15:31:44

标签: jags

我想在jags中创建一个临时变量,但它不能像在R

中那样工作
for (cid in 1:CAMPAIGN_N) {
  for (time in 1:DATE_N){      
    index <- time * CAMPAIGN_N + cid - 2
    positives[index] ~ dbin( k[time]*ctr[cid], tries[index])
  }
}

给出错误,因为index变量只被定义一次。所以我不得不用以下丑陋的方式写它:

for (cid in 1:CAMPAIGN_N) {
  for (time in 1:DATE_N){      
    positives[time * CAMPAIGN_N + cid - 2] 
      ~ dbin( k[time]*ctr[cid], tries[time * CAMPAIGN_N + cid - 2])
  }
}

有没有办法可以用jags创建临时变量?

1 个答案:

答案 0 :(得分:1)

您需要让indextimecid不同。

index[time,cid] <- time * CAMPAIGN_N + cid - 2
positives[index[time,cid]] ~ dbin( k[time]*ctr[cid], tries[index[time,cid]])