我正在尝试使用JAGS而不是WinBUGS,但我不断收到此错误消息:
<div>
这是数据和代码 - 任何想法我做错了什么?我怀疑这与Ntot不是一个整数,但我不确定。我在RStudio中使用"Failed check for discrete-valued parameters in distribution dbin"
。
非常感谢
R2jags
答案 0 :(得分:1)
Ntot
必须是整数,但它目前是t = 1时两个正态分布的混合。这可能是您的错误来源。
以下是t = 1的先验
N1[1]~ dnorm(100, 0.0001)I(0,) # 1-year
Nad[1]~ dnorm(100, 0.0001)I(0,) # Adults
以下是系统流程:
for (t in 2:nyears){
mean1[t] <- f[t−1] / 2 * sjuv[t−1] * Ntot[t−1]
N1[t] ~ dpois(mean1[t])
Nad[t] ~ dbin(sad[t-1],Ntot[t-1])# problem here I think
}
for (t in 1:nyears){
Ntot[t] <- Nad[t] + N1[t]
}
你可能遗漏的是N1[1]
和Nad[1]
应该是泊松随机变量(或者这两个截断的正态分布可能代表Poission随机变量的lambdas。可能类似于:< / p>
N1_lambda~ dnorm(100, 0.0001)I(0,) # 1-year
N1[1] ~ dpois(N1_lambda)
Nad_lambda~ dnorm(100, 0.0001)I(0,) # Adults
Nad[1] ~ dpois(Nad_lambda)