私はJAGSとベイジアン統計に非常に慣れていません.Crawleyの第2版Rブックのベイジアン統計に関する第22章に従おうとしているだけです。単純な線形モデルの本に表示されているコードを正確にコピーします: growth = a + b *tannin で、成長とタンニンという 2 つの連続変数の 9 行があります。データとパッケージは次のとおりです。
install.packages("R2jags")
library(R2jags)
growth <- c(12,10,8,11,6,7,2,3,3)
tannin <- c(0,1,2,3,4,5,6,7,8)
N <- c(1,2,3,4,5,6,7,8,9)
bay.df <- data.frame(growth,tannin,N)
ASCII ファイルは次のようになります。
model{
for(i in 1:N) {
growth[i] ~ dnorm(mu[i],tau)
mu[i] <- a+b*tannin[i]
}
a ~ dnorm(0.0, 1.0E-4)
b ~ dnorm(0.0, 1.0E-4)
sigma <- 1.0/sqrt(tau)
tau ~ dgamma(1.0E-3, 1.0E-3)
}
しかし、このコードを使用すると:
> practicemodel <- jags(data=data.jags,parameters.to.save = c("a","b","tau"),
+ n.iter=100000, model.file="regression.bugs.txt", n.chains=3)
次のようなエラー メッセージが表示されます。
module glm loaded
Compiling model graph
Resolving undeclared variables
Deleting model
Error in jags.model(model.file, data = data, inits = init.values, n.chains = n.chains, :
RUNTIME ERROR:
Non-conforming parameters in function :