Using priorsense with JAGS

    library(R2jags)
    library(posterior)
    library(priorsense)

To use `priorsense` with a JAGS model, the log prior and log likelihood evaluations should be added to the model code.

    model_string <- "
    model {
      for(n in 1:N) {
        y[n] ~ dnorm(mu, tau)
        log_lik[n] <- likelihood_alpha * logdensity.norm(y[n], mu, tau)
      }
      mu ~ dnorm(0, 1)
      sigma ~ dnorm(0, 1 / 2.5^2) T(0,)
      tau <- 1 / sigma^2
      lprior <- prior_alpha * logdensity.norm(mu, 0, 1) + logdensity.norm(sigma, 0, 1 / 2.5^2)
    }
    "

Using `R2jags::jags()` to fit the model.

    model_con <- textConnection(model_string)
    data <- example_powerscale_model()$data

    set.seed(123)

    # monitor parameters of interest along with log-likelihood and log-prior
    variables <- c("mu", "sigma", "log_lik", "lprior")

    jags_fit <- jags(
      data,
      model.file = model_con,
      parameters.to.save = variables,
      n.chains = 4,
      DIC = FALSE,
      quiet = TRUE,
      progress.bar = "none"
      )

Then the `priorsense` functions will work as usual.

    powerscale_sensitivity(jags_fit)

    Sensitivity based on cjs_dist
    Prior selection: all priors
    Likelihood selection: all data

     variable prior likelihood                     diagnosis
           mu 0.753      0.524 potential prior-data conflict
        sigma 0.503      0.468 potential prior-data conflict

    powerscale_plot_dens(jags_fit)