For loop sequence

  • NJR

    NJR - 2014-01-06

    I'm interested in how the for loop sequence in "for (i in 1:n)" is parsed
    when n = 0. Does 1:n give c(1, 0), so the for loop run for the indices 1
    and 0, or is the for loop then skipped over?

    An example: Say I have observations from 10 groups, and I have default and
    special observations which I model with a normal and t-distribution
    respectively. Each group can have both types of observations, or only
    default, or only special observations. Is it possible to set up the model
    in this way:

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



  • Martyn Plummer

    Martyn Plummer - 2014-01-14

    If you have a loop for(i in A:B) with B < A then the body of the loop is skipped. This is also how OpenBUGS works.


Log in to post a comment.