当上限为零时,如何解析JAGS中的循环?

时间:2014-01-07 06:33:02

标签: r jags

我感兴趣的是当n = 0时,如何解析“for(i in 1:n)”中的for循环序列.1:n给出c(1,0),因此for循环运行索引1和0,或者是for循环然后跳过?

一个例子:说我有来自10组的观察,我有默认和特殊观察,我分别用正态和t分布建模。每个组都可以有两种类型的观察,或者只有默认观察,或者只有特殊观察。是否可以通过这种方式设置模型:

model {
  for (g in 1:ngroups) {
    for (i in 1:ndefault.g[g]) { # ndefault.g[g] may be 0 for certain groups
      y.gi[g, i] ~ dnorm(yhat.gi[g, i], tauy.gi[g, i])
    }
    for (i in 1:nspecial.g[g]) { # nspecial.g[g] may be 0 for certain groups
      y.gi[g, i] ~ dt(yhat.gi[g, i], tauy.gi[g, i], dft)
    }
  }
...
}

谢谢!

交叉发布于:https://sourceforge.net/p/mcmc-jags/discussion/610037/thread/d13fd9a2/

1 个答案:

答案 0 :(得分:-1)

易于测试:

for (i in 1:0) print(i)
[1] 1
[1] 0