请问 在Stan里怎么实现重抽样问题呢?
比如在R里可以用 一下代码限制alpha在[0,1]之间,如果不是就从新抽样。
while (alpha[1, k] < 0 | alpha[1, k] > 1 | alpha[2, k] < 0 | alpha[2, k] > 1 | alpha[3, k] < 0 | alpha[3, k] > 1 | alpha[4, k] < 0 | alpha[4, k] > 1) {
# mu[1,k] <- runif(1,2*theta1,1.2*theta1)
# mu[2,k] <- runif(1,0.8*theta1,0)
# mu[3,k] <- runif(1,0,0.8*theta2)
# mu[4,k] <- runif(1,1.2*theta2,2*theta2)
mu[1, k] <- rnorm(1, 2 * theta1, 1)
mu[2:3, k] <- rnorm(2, 0, 1)
mu[4, k] <- rnorm(1, 2 * theta2, 1)
sig[, k] <- runif(4, mn.sig, mx.sig)
alpha[, k] <- make.alpha(mu[, k], sig[, k], tau1, tau2, theta1, theta2)
ind[k] <- ind[k] + 1
}
但是Stan怎么能保证抽样的范围?谢谢!