Привет и добро пожаловать на сайт!
Помните, что BUGS - это декларативный синтаксис, а не язык программирования, поэтому вы не можете перезаписывать значения переменных так, как ожидаете, на языке, таком как RПоэтому вам нужно создать несколько промежуточных узлов, чтобы делать то, что вы рассчитываете.
Если у вас есть следующие данные:
A <- [1,2,3,4]
nA <- 4
Тогда вы можете включить в свою модель:
sumlogA[1] <- 0
for(i in 1:nA){
sumlogA[i+1] <- sumlogA[i] + log(A[i])
}
prodA <- exp(sumlogA[nA+1])
Обратите внимание, что я работаю в логарифмическом масштабе, а затем беру показатель степени суммы - это математически эквивалентно произведению, но гораздо более вычислительно устойчивый расчет.
Надеюсь, что поможет,
Мэтт