tests/testthat/setup-data/runjags-logit.R

#
#   Generate an example runjags model for testing
#

library(runjags)

#data("sim_data")
sim_data <- readRDS(file.path(TESTDATA_DIR, "sim_data.rds"))

# formatting the data for jags
datjags <- as.list(sim_data)
datjags$N <- length(datjags$Y)

model_string <- "
model{
  for(i in 1:N){
    Y[i] ~ dbern(p[i])  ## Bernoulli distribution of y_i
    logit(p[i]) <- mu[i]    ## Logit link function
    mu[i] <- b[1] +
      b[2] * X1[i] +
      b[3] * X2[i]
  }
  
  for(j in 1:3){
    b[j] ~ dnorm(0, 0.001) ## Use a coefficient vector for simplicity
  }
}
"

inits1 <- list("b" = rnorm(3))
inits2 <- list("b" = rnorm(3))
inits <- list(inits1, inits2)

set.seed(123)
runjags_logit <- runjags::run.jags(model = model_string, monitor = "b", data = datjags, 
                          n.chains = 2, sample = 2000, burnin = 1000,
                          inits = inits)

#saveRDS(runjags_logit, "tests/testdata/runjags-logit.rds")
saveRDS(runjags_logit, file.path(TESTDATA_DIR, "runjags_logit.rds"))

Try the BayesPostEst package in your browser

Any scripts or data that you put into this service are public.

BayesPostEst documentation built on Aug. 19, 2025, 1:11 a.m.