2014-01-07 1 views
1

Меня интересует, как обрабатывается последовательность циклов for в позиции «for (i in 1: n)» при n = 0. Предоставляет ли 1: n значение c (1, 0), поэтому цикл for для индексов 1 и 0, или цикл for, затем пропущен?Как для цикла в JAGS анализируется, когда верхняя граница равна нулю?

Пример: Скажем, у меня есть наблюдения из 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/

+0

Может быть, посмотреть, как они ведут себя: 'для (я в 1: 0) печать ("зацикливание"),' для (i в seq_len (0)) print ("looping") '. –

ответ

-1

легко проверить:

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

Спасибо, но не в R, хотя я имел в виду в JAGS! – jrnew

Смежные вопросы