[bugsicon]   Ragged: handling unbalanced data


Fill-to-rectangular:

    model {
      for (i in 1:3) {
         mu[i] ~ dunif(0, 100)
         for (j in 1:4) {
            y[i, j] ~ dnorm(mu[i], 1)
         }
      }
   }


    y[, 1]   y[, 2]   y[, 3]   y[, 4]
    13.2   NA   NA   NA
    12.3   14.1   NA   NA
    11.0   9.7   10.3   9.6
    END

list(y = structure(.Data = c(13.2, NA, NA, NA, 12.3, 14.1, NA, NA, 11.0, 9.7, 10.3, 9.6), .Dim = c(3, 4))


Nested indexing:

       model
      {
          for (i in 1:3) {
             mu[i] ~ dunif(0, 100)
          }
          for (k in 1:7) {
             y[k] ~ dnorm(mu[person[k]], 1)
          }
       }

    y[]   person[]
    13.2   1
    12.3   2
    14.1   2
    11.0   3
    9.7   3
    10.3   3
    9.6   3
    END

list(y = c(13.2, 12.3, 14.1, 11.0, 9.7, 10.3, 9.6), person = c(1, 2, 2, 3, 3, 3, 3))


Offset:

    model {
       for (i in 1:3) {
          mu[i] ~ dunif(0, 100)
          for (k in offset[i]:(offset[i + 1] - 1)) {
             y[k] ~ dnorm(mu[i], 1)
          }
       }
    }

    y[]
    13.2
    12.3
    14.1
    11.0
    9.7
    10.3
    9.6
    END

    offset[]
    1
    2
    4
    8
    END

list(y = c(13.2, 12.3, 14.1, 11.0, 9.7, 10.3, 9.6), offset = c(1, 2, 4, 8))