model { Tau.noninformative <- 1.0E-4 Hyper.gamma <- 1.0E-2 # observation for (i in 1:N.sample) { log.APC[i] ~ dnorm(xA[LV[i]], tau[1]) log.LM[i] ~ dnorm(xL[LV[i]], tau[1]) } # time change of density # LV[i]: pointer to lataent variable for (i in 1:N.sample) { xA[LV[i]] ~ dnorm(mean.xA[i], tau[2]) xL[LV[i]] ~ dnorm(mean.xL[i], tau[2]) mean.xA[i] <- xA[LV[i] - 1] + Delta.time[i] * ( pA[1] + pA[2] * (Temp[i] - Mean.temp) + pA[3] * (xA[LV[i] - 1] - Mean.x) + pA[4] * (xL[LV[i] - 1] - Mean.x) ); mean.xL[i] <- xL[LV[i] - 1] + Delta.time[i] * ( pL[1] + pL[2] * (Temp[i] - Mean.temp) + pL[3] * (xA[LV[i] - 1] - Mean.x) + pL[4] * (xL[LV[i] - 1] - Mean.x) ); } for (k in 1:N.LV.init) { xA[LV.init[k]] ~ dnorm(0.0, Tau.noninformative) xL[LV.init[k]] ~ dnorm(0.0, Tau.noninformative) } # priors and hyper-priors for (k in 1:N.p) { pA[k] ~ dnorm(0.0, Tau.noninformative); pL[k] ~ dnorm(0.0, Tau.noninformative); } for (k in 1:N.tau) { tau[k] ~ dgamma(Hyper.gamma, Hyper.gamma) } }