我是OpenBUGS的初学者,我通过R2OpenBUGS R软件包使用它。我试图建立状态空间模型来识别高噪音数据中的对数正态分布信号。经过多次尝试和错误之后,我成功地获得了这段代码,但仍然收到了以下错误消息:“变量名称错误pos 664中不允许使用空槽”,但我不理解。有人知道代码有什么问题吗?
免责声明:
altitude
我试图确定每个状态下true_alt的对数正态分布。
model <- function(){
## MODEL SPECIFICATION
for(j in 1:nbird){
for(i in 1:nobs[j]){
alt[i,j] ~ dnorm(true_alt[i,j], tau.obs)
log(true_alt[i,j]) <- log_true_alt[i,j]
log_true_alt[i,j] ~ dnorm(mean.alt[i,j], tau[state[i,j]])
mean.alt[i,j] <- alt1[state[i,j]] + ind.re[j]
}
}
for(i in 1:nstate){ tau[i] <- 1/(sig[i]) }
# Random Effects:
tau.re <- 1/sig.re
for(j in 1:nbird) { ind.re[j] ~ dnorm(0, tau.re) }
## PRIORS
for(i in 1:nstate) {
alt1[i] ~ dnorm(0, 0.01)
sig[i] ~ dunif(0, 200)
}
sig.re ~ dunif(0, 200)
state ~ dunif(1,3)
## POSTERIOR PREDICTIVE DISTRIBUTIONS FOR EACH STATE
for(s in 1:nstate){
log_alt_pred[s] ~ dnorm(alt1[s], tau[s])
log(alt_pred[s]) <- log_alt_pred[s]
}
}谢谢!
发布于 2021-04-14 12:03:07
这可能是因为在您的前科中,您试图为"alt1i“设置一个发行版,但是在您的模型中使用了"alti,j”。
https://stackoverflow.com/questions/66920745
复制相似问题