使用 RJAGS 包编译模型时出错

Error in model compiling using RJAGS package

我正在尝试 运行 使用 RJAGS 的以下泊松贝叶斯回归模型,但我发现了一些问题。

library(rjags)
library(mosaic)
library(dplyr)

对于来自 mosaic 包的数据集:


glimpse(RailTrail)

我根据工作日状态 $X_i$ 和温度 $Z_i$:

设计了体积 $Y_i$ 的泊松回归模型
poisson_model <- "model{
 
 # Likelihood model for Y[i]
  
  for(i in 1:length(Y)) { 
      Y[i] ~ dpois(l[i])
      log(l[i]) <- a + b[X[i]] + c*Z[i] 
}  

# Prior models for a, b, c

  a ~ dnorm(0, 200^(-2))
  b[1] <- 0
  b[2] ~ dnorm(0, 2^(-2))
  c ~ dnorm(0, 2^(-2))

}"

那我什么时候编译模型

# COMPILE the model
poisson_jags <- jags.model(textConnection(poisson_model), 
    data = list(Y = RailTrail$volume, X = RailTrail$weekday, Z = RailTrail$hightemp), 
    inits = list(.RNG.name = "base::Wichmann-Hill", .RNG.seed = 10))

我发现了以下问题:

我该如何解决这个问题?

问题是 RailTrail 数据中的 weekday 变量是合乎逻辑的,其值 {FALSE, TRUE} 的数值为 0 和 1 , 分别。您需要将它们转换为值 1 和 2。这应该可以解决问题:

poisson_jags <- jags.model(textConnection(poisson_model), 
                           data = list(Y = RailTrail$volume, 
                                       X = as.numeric(RailTrail$weekday)+1, 
                                       Z = RailTrail$hightemp), 
                           inits = list(.RNG.name = "base::Wichmann-Hill", 
                                        .RNG.seed = 10))