Nothing
#' An internal function to change the hyperprior parameters in the selection model provided by the user depending on the type of
#' missingness mechanism and outcome distributions assumed
#'
#' This function modifies default hyper prior parameter values in the type of longitudinal missing data model selected according
#' to the type of missingness mechanism and distributions for the outcomes assumed.
#' @keywords priors distributions Longitudinal missing data models
#' @param type Type of missingness mechanism assumed. Choices are Missing At Random (MAR), Missing Not At Random for the effects (MNAR_eff),
#' Missing Not At Random for the costs (MNAR_cost), and Missing Not At Random for both (MNAR). For a complete list of all available hyper parameters
#' and types of models see the manual.
#' @param dist_e distribution assumed for the effects. Current available choices are: Normal ('norm'), Beta ('beta'), Gamma ('gamma'), Exponential ('exp'),
#' Weibull ('weib'), Logistic ('logis'), Poisson ('pois'), Negative Binomial ('negbin') or Bernoulli ('bern')
#' @param dist_c Distribution assumed for the costs. Current available choices are: Normal ('norm'), Gamma ('gamma') or LogNormal ('lnorm')
#' @param model_txt_info list containing model specification information used to write the txt file of the JAGS model.
#' @param model_string_jags text file of the model.
#' @examples
#' #Internal function only
#' #no examples
#' #
#' #
prior_lmdm <- function(type, dist_e, dist_c, model_txt_info, model_string_jags) {
prior.list <- model_txt_info$prior
prior.dist <- sapply(prior.list, "[[", 1)
if(!any(is.character(prior.dist))) { stop("Please provide prior distribution names as characters")}
prior.dist <- tolower(prior.dist)
prior.dist.valid <- c("norm", "bern", "beta", "bin", "chisqr", "exp", "f", "gamma", "gen.gamma", "dexp", "unif", "nt",
"hyper", "logis", "lnorm", "negbin", "nchisqr", "par", "pois", "t", "weib", "cauchy", "cat", "half-norm", "half-cauchy", "default")
if(any(prior.dist %in% c("normal","gaussian"))) {
prior.dist[which(prior.dist %in% c("normal","gaussian"))] <- "norm"}
if(any(prior.dist %in% c("exponential"))) {
prior.dist[which(prior.dist %in% c("exponential"))] <- "exp"}
if(any(prior.dist %in% c("weib"))) {
prior.dist[which(prior.dist %in% c("weibull"))] <- "weib"}
if(any(prior.dist %in% c("logistic"))) {
prior.dist[which(prior.dist %in% c("logistic"))] <- "logis"}
if(any(prior.dist %in% c("bernoulli"))) {
prior.dist[which(prior.dist %in% c("bernoulli"))] <- "bern"}
if(any(prior.dist %in% c("poisson"))) {
prior.dist[which(prior.dist %in% c("poisson"))] <- "pois"}
if(any(prior.dist %in% c("negative binomial", "negbinom", "negbin", "negbinomial"))) {
prior.dist[which(prior.dist %in% c("negative binomial", "negbinom", "negbin", "negbinomial"))] <- "negbin"}
if(any(prior.dist %in% c("lognormal", "lognorm", "lnormal"))) {
prior.dist[which(prior.dist %in% c("lognormal", "lognorm", "lnormal"))] <- "lnorm"}
if(any(prior.dist %in% c("binom", "binomial"))) {
prior.dist[which(prior.dist %in% c("binom", "binomial"))] <- "bin"}
if(any(prior.dist %in% c("binom", "binomial"))) {
prior.dist[which(prior.dist %in% c("chi2", "chisq", "chi-squared", "chisquared"))] <- "chisqr"}
if(any(prior.dist %in% c("double exponential", "dexponential"))) {
prior.dist[which(prior.dist %in% c("double exponential", "dexponential"))] <- "dexp"}
if(any(prior.dist %in% c("gengamma", "generalised gamma", "ggamma"))) {
prior.dist[which(prior.dist %in% c("gengamma", "generalised gamma", "ggamma"))] <- "gen.gamma"}
if(any(prior.dist %in% c("hypergeometric", "hypergeom", "hgeometric", "hgeom"))) {
prior.dist[which(prior.dist %in% c("hypergeometric", "hypergeom", "hgeometric", "hgeom"))] <- "hyper"}
if(any(prior.dist %in% c("hypergeometric", "hypergeom", "hgeometric", "hgeom"))) {
prior.dist[which(prior.dist %in% c("nchi2", "nchisq", "nchi-squared", "nchisquared"))] <- "nchisqr"}
if(any(prior.dist %in% c("pareto"))) {
prior.dist[which(prior.dist %in% c("pareto"))] <- "par"}
if(any(prior.dist %in% c("t-student", "t-stud"))) {
prior.dist[which(prior.dist %in% c("t-student", "t-stud"))] <- "t"}
if(any(prior.dist %in% c("t-student", "t-stud"))) {
prior.dist[which(prior.dist %in% c("nt-student", "nt-stud"))] <- "nt"}
if(any(prior.dist %in% c("uniform"))) {
prior.dist[which(prior.dist %in% c("uniform"))] <- "unif"}
if(any(prior.dist %in% c("categorical", "categ"))) {
prior.dist[which(prior.dist %in% c("categorical", "categ"))] <- "cat"}
if(any(prior.dist %in% c("cauchy"))) {
prior.dist[which(prior.dist %in% c("cauchy"))] <- "cauchy"}
if(any(prior.dist %in% c("half-normal", "half-gaussian"))) {
prior.dist[which(prior.dist %in% c("half-normal", "half-gaussian"))] <- "half-norm"}
if(any(prior.dist %in% c("half-cauchy"))) {
prior.dist[which(prior.dist %in% c("half-cauchy"))] <- "half-cauchy"}
if(!any(prior.dist %in% prior.dist.valid)) { stop("Please provide valid names for prior distributions")}
prior.dist.d <- paste("d", prior.dist, sep = "")
names(prior.dist.d) <- names(prior.dist)
stop_dist_val <- "Please provide correct number and values for prior parameters."
if(type %in% c("MNAR", "MNAR_eff", "MNAR_cost")) {
if(!is.null(prior.list$delta.prior.e) & grepl("delta_e[time, mdrop] ~ ", model_string_jags, fixed = TRUE)) {
if(prior.dist["delta.prior.e"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$delta.prior.e[-1]) != 1) { stop(stop_dist_val)}
delta.prior.e <- as.numeric(prior.list$delta.prior.e[-1])
prior_deltae_str <- paste("delta_e[time, mdrop] ~ ", paste(prior.dist.d["delta.prior.e"]), "(", delta.prior.e, ")", sep = "")
}
if(prior.dist["delta.prior.e"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$delta.prior.e[-1]) != 2) { stop(stop_dist_val)}
delta.prior.e <- as.numeric(prior.list$delta.prior.e[-1])
if(prior.dist.d["delta.prior.e"] == "dhalf-norm") {
prior.dist.d["delta.prior.e"] <- "dnorm"
prior_deltae_str <- paste("delta_e[time, mdrop] ~ ", paste(prior.dist.d["delta.prior.e"]), "(", delta.prior.e[1], ", ", delta.prior.e[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["delta.prior.e"] == "dhalf-cauchy") {
prior.dist.d["delta.prior.e"] <- "dt"
prior_deltae_str <- paste("delta_e[time, mdrop] ~ ", paste(prior.dist.d["delta.prior.e"]), "(", delta.prior.e[1], ", ", delta.prior.e[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["delta.prior.e"] == "dcauchy") {
prior.dist.d["delta.prior.e"] <- "dt"
prior_deltae_str <- paste("delta_e[time, mdrop] ~ ", paste(prior.dist.d["delta.prior.e"]), "(", delta.prior.e[1], ", ", delta.prior.e[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste("delta_e[time, mdrop] ~ ", paste(prior.dist.d["delta.prior.e"]), "(", delta.prior.e[1], ", ", delta.prior.e[2], ")", sep = "")
}
if(prior.dist["delta.prior.e"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$delta.prior.e[-1]) != 3) { stop(stop_dist_val)}
delta.prior.e <- as.numeric(prior.list$delta.prior.e[-1])
prior_deltae_str <- paste("delta_e[time, mdrop] ~ ", paste(prior.dist.d["delta.prior.e"]), "(", delta.prior.e[1], ", ", delta.prior.e[2], ", ", delta.prior.e[3], ")", sep = "")
}
if(prior.dist["delta.prior.e"] %in% c("hyper")) {
if(length(prior.list$delta.prior.e[-1]) != 4) { stop(stop_dist_val)}
delta.prior.e <- as.numeric(prior.list$delta.prior.e[-1])
prior_deltae_str <- paste("delta_e[time, mdrop] ~ ", paste(prior.dist.d["delta.prior.e"]), "(", delta.prior.e[1], ", ", delta.prior.e[2], ", ", delta.prior.e[3], ", ", delta.prior.e[4], ")", sep = "")
}
model_string_jags <- gsub("delta_e[time, mdrop] ~ dnorm(0, 1)", prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(!is.null(prior.list$delta.prior.c) & grepl("delta_c[time, mdrop] ~ ", model_string_jags, fixed = TRUE)) {
if(prior.dist["delta.prior.c"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$delta.prior.c[-1]) != 1) { stop(stop_dist_val)}
delta.prior.c <- as.numeric(prior.list$delta.prior.c[-1])
prior_deltae_str <- paste("delta_c[time, mdrop] ~ ", paste(prior.dist.d["delta.prior.c"]), "(", delta.prior.c, ")", sep = "")
}
if(prior.dist["delta.prior.c"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$delta.prior.c[-1]) != 2) { stop(stop_dist_val)}
delta.prior.c <- as.numeric(prior.list$delta.prior.c[-1])
if(prior.dist.d["delta.prior.c"] == "dhalf-norm") {
prior.dist.d["delta.prior.c"] <- "dnorm"
prior_deltae_str <- paste("delta_c[time, mdrop] ~ ", paste(prior.dist.d["delta.prior.c"]), "(", delta.prior.c[1], ", ", delta.prior.c[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["delta.prior.c"] == "dhalf-cauchy") {
prior.dist.d["delta.prior.c"] <- "dt"
prior_deltae_str <- paste("delta_c[time, mdrop] ~ ", paste(prior.dist.d["delta.prior.c"]), "(", delta.prior.c[1], ", ", delta.prior.c[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["delta.prior.c"] == "dcauchy") {
prior.dist.d["delta.prior.c"] <- "dt"
prior_deltae_str <- paste("delta_c[time, mdrop] ~ ", paste(prior.dist.d["delta.prior.c"]), "(", delta.prior.c[1], ", ", delta.prior.c[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste("delta_c[time, mdrop] ~ ", paste(prior.dist.d["delta.prior.c"]), "(", delta.prior.c[1], ", ", delta.prior.c[2], ")", sep = "")
}
if(prior.dist["delta.prior.c"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$delta.prior.c[-1]) != 3) { stop(stop_dist_val)}
delta.prior.c <- as.numeric(prior.list$delta.prior.c[-1])
prior_deltae_str <- paste("delta_c[time, mdrop] ~ ", paste(prior.dist.d["delta.prior.c"]), "(", delta.prior.c[1], ", ", delta.prior.c[2], ", ", delta.prior.c[3], ")", sep = "")
}
if(prior.dist["delta.prior.c"] %in% c("hyper")) {
if(length(prior.list$delta.prior.c[-1]) != 4) { stop(stop_dist_val)}
delta.prior.c <- as.numeric(prior.list$delta.prior.c[-1])
prior_deltae_str <- paste("delta_c[time, mdrop] ~ ", paste(prior.dist.d["delta.prior.c"]), "(", delta.prior.c[1], ", ", delta.prior.c[2], ", ", delta.prior.c[3], ", ", delta.prior.c[4], ")", sep = "")
}
model_string_jags <- gsub("delta_c[time, mdrop] ~ dnorm(0, 1)", prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(!is.null(prior.list$mu.d.prior.e) & grepl("mu_d_e_hat[time] ~ ", model_string_jags, fixed = TRUE)) {
if(prior.dist["mu.d.prior.e"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$mu.d.prior.e[-1]) != 1) { stop(stop_dist_val)}
mu.d.prior.e <- as.numeric(prior.list$mu.d.prior.e[-1])
prior_deltae_str <- paste("mu_d_e_hat[time] ~ ", paste(prior.dist.d["mu.d.prior.e"]), "(", mu.d.prior.e, ")", sep = "")
}
if(prior.dist["mu.d.prior.e"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$mu.d.prior.e[-1]) != 2) { stop(stop_dist_val)}
mu.d.prior.e <- as.numeric(prior.list$mu.d.prior.e[-1])
if(prior.dist.d["mu.d.prior.e"] == "dhalf-norm") {
prior.dist.d["mu.d.prior.e"] <- "dnorm"
prior_deltae_str <- paste("mu_d_e_hat[time] ~ ", paste(prior.dist.d["mu.d.prior.e"]), "(", mu.d.prior.e[1], ", ", mu.d.prior.e[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.d.prior.e"] == "dhalf-cauchy") {
prior.dist.d["mu.d.prior.e"] <- "dt"
prior_deltae_str <- paste("mu_d_e_hat[time] ~ ", paste(prior.dist.d["mu.d.prior.e"]), "(", mu.d.prior.e[1], ", ", mu.d.prior.e[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.d.prior.e"] == "dcauchy") {
prior.dist.d["mu.d.prior.e"] <- "dt"
prior_deltae_str <- paste("mu_d_e_hat[time] ~ ", paste(prior.dist.d["mu.d.prior.e"]), "(", mu.d.prior.e[1], ", ", mu.d.prior.e[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste("mu_d_e_hat[time] ~ ", paste(prior.dist.d["mu.d.prior.e"]), "(", mu.d.prior.e[1], ", ", mu.d.prior.e[2], ")", sep = "")
}
if(prior.dist["mu.d.prior.e"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$mu.d.prior.e[-1]) != 3) { stop(stop_dist_val)}
mu.d.prior.e <- as.numeric(prior.list$mu.d.prior.e[-1])
prior_deltae_str <- paste("mu_d_e_hat[time] ~ ", paste(prior.dist.d["mu.d.prior.e"]), "(", mu.d.prior.e[1], ", ", mu.d.prior.e[2], ", ", mu.d.prior.e[3], ")", sep = "")
}
if(prior.dist["mu.d.prior.e"] %in% c("hyper")) {
if(length(prior.list$mu.d.prior.e[-1]) != 4) { stop(stop_dist_val)}
mu.d.prior.e <- as.numeric(prior.list$mu.d.prior.e[-1])
prior_deltae_str <- paste("mu_d_e_hat[time] ~ ", paste(prior.dist.d["mu.d.prior.e"]), "(", mu.d.prior.e[1], ", ", mu.d.prior.e[2], ", ", mu.d.prior.e[3], ", ", mu.d.prior.e[4], ")", sep = "")
}
model_string_jags <- gsub("mu_d_e_hat[time] ~ dnorm(0, 1)", prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(!is.null(prior.list$s.d.prior.e) & grepl("s_d_e_hat[time] ~ ", model_string_jags, fixed = TRUE)) {
if(prior.dist["s.d.prior.e"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$s.d.prior.e[-1]) != 1) { stop(stop_dist_val)}
s.d.prior.e <- as.numeric(prior.list$s.d.prior.e[-1])
prior_deltae_str <- paste("s_d_e_hat[time] ~ ", paste(prior.dist.d["s.d.prior.e"]), "(", s.d.prior.e, ")", sep = "")
}
if(prior.dist["s.d.prior.e"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$s.d.prior.e[-1]) != 2) { stop(stop_dist_val)}
s.d.prior.e <- as.numeric(prior.list$s.d.prior.e[-1])
if(prior.dist.d["s.d.prior.e"] == "dhalf-norm") {
prior.dist.d["s.d.prior.e"] <- "dnorm"
prior_deltae_str <- paste("s_d_e_hat[time] ~ ", paste(prior.dist.d["s.d.prior.e"]), "(", s.d.prior.e[1], ", ", s.d.prior.e[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["s.d.prior.e"] == "dhalf-cauchy") {
prior.dist.d["s.d.prior.e"] <- "dt"
prior_deltae_str <- paste("s_d_e_hat[time] ~ ", paste(prior.dist.d["s.d.prior.e"]), "(", s.d.prior.e[1], ", ", s.d.prior.e[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["s.d.prior.e"] == "dcauchy") {
prior.dist.d["s.d.prior.e"] <- "dt"
prior_deltae_str <- paste("s_d_e_hat[time] ~ ", paste(prior.dist.d["s.d.prior.e"]), "(", s.d.prior.e[1], ", ", s.d.prior.e[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste("s_d_e_hat[time] ~ ", paste(prior.dist.d["s.d.prior.e"]), "(", s.d.prior.e[1], ", ", s.d.prior.e[2], ")", sep = "")
}
if(prior.dist["s.d.prior.e"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$s.d.prior.e[-1]) != 3) { stop(stop_dist_val)}
s.d.prior.e <- as.numeric(prior.list$s.d.prior.e[-1])
prior_deltae_str <- paste("s_d_e_hat[time] ~ ", paste(prior.dist.d["s.d.prior.e"]), "(", s.d.prior.e[1], ", ", s.d.prior.e[2], ", ", s.d.prior.e[3], ")", sep = "")
}
if(prior.dist["s.d.prior.e"] %in% c("hyper")) {
if(length(prior.list$s.d.prior.e[-1]) != 4) { stop(stop_dist_val)}
s.d.prior.e <- as.numeric(prior.list$s.d.prior.e[-1])
prior_deltae_str <- paste("s_d_e_hat[time] ~ ", paste(prior.dist.d["s.d.prior.e"]), "(", s.d.prior.e[1], ", ", s.d.prior.e[2], ", ", s.d.prior.e[3], ", ", s.d.prior.e[4], ")", sep = "")
}
model_string_jags <- gsub("s_d_e_hat[time] ~ dunif(0, 1)", prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(!is.null(prior.list$mu.d.prior.c) & grepl("mu_d_c_hat[time] ~ ", model_string_jags, fixed = TRUE)) {
if(prior.dist["mu.d.prior.c"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$mu.d.prior.c[-1]) != 1) { stop(stop_dist_val)}
mu.d.prior.c <- as.numeric(prior.list$mu.d.prior.c[-1])
prior_deltae_str <- paste("mu_d_c_hat[time] ~ ", paste(prior.dist.d["mu.d.prior.c"]), "(", mu.d.prior.c, ")", sep = "")
}
if(prior.dist["mu.d.prior.c"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$mu.d.prior.c[-1]) != 2) { stop(stop_dist_val)}
mu.d.prior.c <- as.numeric(prior.list$mu.d.prior.c[-1])
if(prior.dist.d["mu.d.prior.c"] == "dhalf-norm") {
prior.dist.d["mu.d.prior.c"] <- "dnorm"
prior_deltae_str <- paste("mu_d_c_hat[time] ~ ", paste(prior.dist.d["mu.d.prior.c"]), "(", mu.d.prior.c[1], ", ", mu.d.prior.c[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.d.prior.c"] == "dhalf-cauchy") {
prior.dist.d["mu.d.prior.c"] <- "dt"
prior_deltae_str <- paste("mu_d_c_hat[time] ~ ", paste(prior.dist.d["mu.d.prior.c"]), "(", mu.d.prior.c[1], ", ", mu.d.prior.c[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.d.prior.c"] == "dcauchy") {
prior.dist.d["mu.d.prior.c"] <- "dt"
prior_deltae_str <- paste("mu_d_c_hat[time] ~ ", paste(prior.dist.d["mu.d.prior.c"]), "(", mu.d.prior.c[1], ", ", mu.d.prior.c[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste("mu_d_c_hat[time] ~ ", paste(prior.dist.d["mu.d.prior.c"]), "(", mu.d.prior.c[1], ", ", mu.d.prior.c[2], ")", sep = "")
}
if(prior.dist["mu.d.prior.c"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$mu.d.prior.c[-1]) != 3) { stop(stop_dist_val)}
mu.d.prior.c <- as.numeric(prior.list$mu.d.prior.c[-1])
prior_deltae_str <- paste("mu_d_c_hat[time] ~ ", paste(prior.dist.d["mu.d.prior.c"]), "(", mu.d.prior.c[1], ", ", mu.d.prior.c[2], ", ", mu.d.prior.c[3], ")", sep = "")
}
if(prior.dist["mu.d.prior.c"] %in% c("hyper")) {
if(length(prior.list$mu.d.prior.c[-1]) != 4) { stop(stop_dist_val)}
mu.d.prior.c <- as.numeric(prior.list$mu.d.prior.c[-1])
prior_deltae_str <- paste("mu_d_c_hat[time] ~ ", paste(prior.dist.d["mu.d.prior.c"]), "(", mu.d.prior.c[1], ", ", mu.d.prior.c[2], ", ", mu.d.prior.c[3], ", ", mu.d.prior.c[4], ")", sep = "")
}
model_string_jags <- gsub("mu_d_c_hat[time] ~ dnorm(0, 1)", prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(!is.null(prior.list$s.d.prior.c) & grepl("s_d_c_hat[time] ~ ", model_string_jags, fixed = TRUE)) {
if(prior.dist["s.d.prior.c"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$s.d.prior.c[-1]) != 1) { stop(stop_dist_val)}
s.d.prior.c <- as.numeric(prior.list$s.d.prior.c[-1])
prior_deltae_str <- paste("s_d_c_hat[time] ~ ", paste(prior.dist.d["s.d.prior.c"]), "(", s.d.prior.c, ")", sep = "")
}
if(prior.dist["s.d.prior.c"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$s.d.prior.c[-1]) != 2) { stop(stop_dist_val)}
s.d.prior.c <- as.numeric(prior.list$s.d.prior.c[-1])
if(prior.dist.d["s.d.prior.c"] == "dhalf-norm") {
prior.dist.d["s.d.prior.c"] <- "dnorm"
prior_deltae_str <- paste("s_d_c_hat[time] ~ ", paste(prior.dist.d["s.d.prior.c"]), "(", s.d.prior.c[1], ", ", s.d.prior.c[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["s.d.prior.c"] == "dhalf-cauchy") {
prior.dist.d["s.d.prior.c"] <- "dt"
prior_deltae_str <- paste("s_d_c_hat[time] ~ ", paste(prior.dist.d["s.d.prior.c"]), "(", s.d.prior.c[1], ", ", s.d.prior.c[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["s.d.prior.c"] == "dcauchy") {
prior.dist.d["s.d.prior.c"] <- "dt"
prior_deltae_str <- paste("s_d_c_hat[time] ~ ", paste(prior.dist.d["s.d.prior.c"]), "(", s.d.prior.c[1], ", ", s.d.prior.c[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste("s_d_c_hat[time] ~ ", paste(prior.dist.d["s.d.prior.c"]), "(", s.d.prior.c[1], ", ", s.d.prior.c[2], ")", sep = "")
}
if(prior.dist["s.d.prior.c"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$s.d.prior.c[-1]) != 3) { stop(stop_dist_val)}
s.d.prior.c <- as.numeric(prior.list$s.d.prior.c[-1])
prior_deltae_str <- paste("s_d_c_hat[time] ~ ", paste(prior.dist.d["s.d.prior.c"]), "(", s.d.prior.c[1], ", ", s.d.prior.c[2], ", ", s.d.prior.c[3], ")", sep = "")
}
if(prior.dist["s.d.prior.c"] %in% c("hyper")) {
if(length(prior.list$s.d.prior.c[-1]) != 4) { stop(stop_dist_val)}
s.d.prior.c <- as.numeric(prior.list$s.d.prior.c[-1])
prior_deltae_str <- paste("s_d_c_hat[time] ~ ", paste(prior.dist.d["s.d.prior.c"]), "(", s.d.prior.c[1], ", ", s.d.prior.c[2], ", ", s.d.prior.c[3], ", ", s.d.prior.c[4], ")", sep = "")
}
model_string_jags <- gsub("s_d_c_hat[time] ~ dunif(0, 1)", prior_deltae_str, model_string_jags, fixed = TRUE)
}
}
if(model_txt_info$ze_fixed == 1) { gamma_e_text <- paste("gamma_e[time, mdrop] ~ ")}
if(model_txt_info$ze_fixed > 1) { gamma_e_text <- paste("gamma_e[j, time, mdrop] ~ ")}
if(!is.null(prior.list$gamma.prior.e) & grepl(gamma_e_text, model_string_jags, fixed = TRUE)) {
if(prior.dist["gamma.prior.e"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$gamma.prior.e[-1]) != 1) { stop(stop_dist_val)}
gamma.prior.e <- as.numeric(prior.list$gamma.prior.e[-1])
prior_deltae_str <- paste(gamma_e_text, paste(prior.dist.d["gamma.prior.e"]), "(", gamma.prior.e, ")", sep = "")
}
if(prior.dist["gamma.prior.e"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$gamma.prior.e[-1]) != 2) { stop(stop_dist_val)}
gamma.prior.e <- as.numeric(prior.list$gamma.prior.e[-1])
if(prior.dist.d["gamma.prior.e"] == "dhalf-norm") {
prior.dist.d["gamma.prior.e"] <- "dnorm"
prior_deltae_str <- paste(gamma_e_text, paste(prior.dist.d["gamma.prior.e"]), "(", gamma.prior.e[1], ", ", gamma.prior.e[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["gamma.prior.e"] == "dhalf-cauchy") {
prior.dist.d["gamma.prior.e"] <- "dt"
prior_deltae_str <- paste(gamma_e_text, paste(prior.dist.d["gamma.prior.e"]), "(", gamma.prior.e[1], ", ", gamma.prior.e[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["gamma.prior.e"] == "dcauchy") {
prior.dist.d["gamma.prior.e"] <- "dt"
prior_deltae_str <- paste(gamma_e_text, paste(prior.dist.d["gamma.prior.e"]), "(", gamma.prior.e[1], ", ", gamma.prior.e[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste(gamma_e_text, paste(prior.dist.d["gamma.prior.e"]), "(", gamma.prior.e[1], ", ", gamma.prior.e[2], ")", sep = "")
}
if(prior.dist["gamma.prior.e"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$gamma.prior.e[-1]) != 3) { stop(stop_dist_val)}
gamma.prior.e <- as.numeric(prior.list$gamma.prior.e[-1])
prior_deltae_str <- paste(gamma_e_text, paste(prior.dist.d["gamma.prior.e"]), "(", gamma.prior.e[1], ", ", gamma.prior.e[2], ", ", gamma.prior.e[3], ")", sep = "")
}
if(prior.dist["gamma.prior.e"] %in% c("hyper")) {
if(length(prior.list$gamma.prior.e[-1]) != 4) { stop(stop_dist_val)}
gamma.prior.e <- as.numeric(prior.list$gamma.prior.e[-1])
prior_deltae_str <- paste(gamma_e_text, paste(prior.dist.d["gamma.prior.e"]), "(", gamma.prior.e[1], ", ", gamma.prior.e[2], ", ", gamma.prior.e[3], ", ", gamma.prior.e[4], ")", sep = "")
}
model_string_jags <- gsub(paste(gamma_e_text, "dnorm(0, 0.01)", sep = ""), prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(length(model_txt_info$model_me_random) != 0) {
if(model_txt_info$ze_random == 1) {
mu_g_e_hat_text <- paste("mu_g_e_hat[time] ~ ")
s_g_e_hat_text <- paste("s_g_e_hat[time] ~ ")}
if(model_txt_info$ze_random > 1) {
mu_g_e_hat_text <- paste("mu_g_e_hat[j, time] ~ ")
s_g_e_hat_text <- paste("s_g_e_hat[j, time] ~ ")}
if(!is.null(prior.list$mu.g.prior.e) & grepl(mu_g_e_hat_text, model_string_jags, fixed = TRUE)) {
if(prior.dist["mu.g.prior.e"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$mu.g.prior.e[-1]) != 1) { stop(stop_dist_val)}
mu.g.prior.e <- as.numeric(prior.list$mu.g.prior.e[-1])
prior_deltae_str <- paste(mu_g_e_hat_text, paste(prior.dist.d["mu.g.prior.e"]), "(", mu.g.prior.e, ")", sep = "")
}
if(prior.dist["mu.g.prior.e"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$mu.g.prior.e[-1]) != 2) { stop(stop_dist_val)}
mu.g.prior.e <- as.numeric(prior.list$mu.g.prior.e[-1])
if(prior.dist.d["mu.g.prior.e"] == "dhalf-norm") {
prior.dist.d["mu.g.prior.e"] <- "dnorm"
prior_deltae_str <- paste(mu_g_e_hat_text, paste(prior.dist.d["mu.g.prior.e"]), "(", mu.g.prior.e[1], ", ", mu.g.prior.e[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.g.prior.e"] == "dhalf-cauchy") {
prior.dist.d["mu.g.prior.e"] <- "dt"
prior_deltae_str <- paste(mu_g_e_hat_text, paste(prior.dist.d["mu.g.prior.e"]), "(", mu.g.prior.e[1], ", ", mu.g.prior.e[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.g.prior.e"] == "dcauchy") {
prior.dist.d["mu.g.prior.e"] <- "dt"
prior_deltae_str <- paste(mu_g_e_hat_text, paste(prior.dist.d["mu.g.prior.e"]), "(", mu.g.prior.e[1], ", ", mu.g.prior.e[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste(mu_g_e_hat_text, paste(prior.dist.d["mu.g.prior.e"]), "(", mu.g.prior.e[1], ", ", mu.g.prior.e[2], ")", sep = "")
}
if(prior.dist["mu.g.prior.e"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$mu.g.prior.e[-1]) != 3) { stop(stop_dist_val)}
mu.g.prior.e <- as.numeric(prior.list$mu.g.prior.e[-1])
prior_deltae_str <- paste(mu_g_e_hat_text, paste(prior.dist.d["mu.g.prior.e"]), "(", mu.g.prior.e[1], ", ", mu.g.prior.e[2], ", ", mu.g.prior.e[3], ")", sep = "")
}
if(prior.dist["mu.g.prior.e"] %in% c("hyper")) {
if(length(prior.list$mu.g.prior.e[-1]) != 4) { stop(stop_dist_val)}
mu.g.prior.e <- as.numeric(prior.list$mu.g.prior.e[-1])
prior_deltae_str <- paste(mu_g_e_hat_text, paste(prior.dist.d["mu.g.prior.e"]), "(", mu.g.prior.e[1], ", ", mu.g.prior.e[2], ", ", mu.g.prior.e[3], ", ", mu.g.prior.e[4], ")", sep = "")
}
model_string_jags <- gsub(paste(mu_g_e_hat_text, "dnorm(0, 0.001)", sep = ""), prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(!is.null(prior.list$s.g.prior.e) & grepl(s_g_e_hat_text, model_string_jags, fixed = TRUE)) {
if(prior.dist["s.g.prior.e"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$s.g.prior.e[-1]) != 1) { stop(stop_dist_val)}
s.g.prior.e <- as.numeric(prior.list$s.g.prior.e[-1])
prior_deltae_str <- paste(s_g_e_hat_text, paste(prior.dist.d["s.g.prior.e"]), "(", s.g.prior.e, ")", sep = "")
}
if(prior.dist["s.g.prior.e"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$s.g.prior.e[-1]) != 2) { stop(stop_dist_val)}
s.g.prior.e <- as.numeric(prior.list$s.g.prior.e[-1])
if(prior.dist.d["s.g.prior.e"] == "dhalf-norm") {
prior.dist.d["s.g.prior.e"] <- "dnorm"
prior_deltae_str <- paste(s_g_e_hat_text, paste(prior.dist.d["s.g.prior.e"]), "(", s.g.prior.e[1], ", ", s.g.prior.e[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["s.g.prior.e"] == "dhalf-cauchy") {
prior.dist.d["s.g.prior.e"] <- "dt"
prior_deltae_str <- paste(s_g_e_hat_text, paste(prior.dist.d["s.g.prior.e"]), "(", s.g.prior.e[1], ", ", s.g.prior.e[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["s.g.prior.e"] == "dcauchy") {
prior.dist.d["s.g.prior.e"] <- "dt"
prior_deltae_str <- paste(s_g_e_hat_text, paste(prior.dist.d["s.g.prior.e"]), "(", s.g.prior.e[1], ", ", s.g.prior.e[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste(s_g_e_hat_text, paste(prior.dist.d["s.g.prior.e"]), "(", s.g.prior.e[1], ", ", s.g.prior.e[2], ")", sep = "")
}
if(prior.dist["s.g.prior.e"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$s.g.prior.e[-1]) != 3) { stop(stop_dist_val)}
s.g.prior.e <- as.numeric(prior.list$s.g.prior.e[-1])
prior_deltae_str <- paste(s_g_e_hat_text, paste(prior.dist.d["s.g.prior.e"]), "(", s.g.prior.e[1], ", ", s.g.prior.e[2], ", ", s.g.prior.e[3], ")", sep = "")
}
if(prior.dist["s.g.prior.e"] %in% c("hyper")) {
if(length(prior.list$s.g.prior.e[-1]) != 4) { stop(stop_dist_val)}
s.g.prior.e <- as.numeric(prior.list$s.g.prior.e[-1])
prior_deltae_str <- paste(s_g_e_hat_text, paste(prior.dist.d["s.g.prior.e"]), "(", s.g.prior.e[1], ", ", s.g.prior.e[2], ", ", s.g.prior.e[3], ", ", s.g.prior.e[4], ")", sep = "")
}
model_string_jags <- gsub(paste(s_g_e_hat_text, "dunif(0, 100)", sep = ""), prior_deltae_str, model_string_jags, fixed = TRUE)
}
}
if(model_txt_info$zc_fixed == 1) { gamma_c_text <- paste("gamma_c[time, mdrop] ~ ")}
if(model_txt_info$zc_fixed > 1) { gamma_c_text <- paste("gamma_c[j, time, mdrop] ~ ")}
if(!is.null(prior.list$gamma.prior.c) & grepl(gamma_c_text, model_string_jags, fixed = TRUE)) {
if(prior.dist["gamma.prior.c"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$gamma.prior.c[-1]) != 1) { stop(stop_dist_val)}
gamma.prior.c <- as.numeric(prior.list$gamma.prior.c[-1])
prior_deltae_str <- paste(gamma_c_text, paste(prior.dist.d["gamma.prior.c"]), "(", gamma.prior.c, ")", sep = "")
}
if(prior.dist["gamma.prior.c"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$gamma.prior.c[-1]) != 2) { stop(stop_dist_val)}
gamma.prior.c <- as.numeric(prior.list$gamma.prior.c[-1])
if(prior.dist.d["gamma.prior.c"] == "dhalf-norm") {
prior.dist.d["gamma.prior.c"] <- "dnorm"
prior_deltae_str <- paste(gamma_c_text, paste(prior.dist.d["gamma.prior.c"]), "(", gamma.prior.c[1], ", ", gamma.prior.c[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["gamma.prior.c"] == "dhalf-cauchy") {
prior.dist.d["gamma.prior.c"] <- "dt"
prior_deltae_str <- paste(gamma_c_text, paste(prior.dist.d["gamma.prior.c"]), "(", gamma.prior.c[1], ", ", gamma.prior.c[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["gamma.prior.c"] == "dcauchy") {
prior.dist.d["gamma.prior.c"] <- "dt"
prior_deltae_str <- paste(gamma_c_text, paste(prior.dist.d["gamma.prior.c"]), "(", gamma.prior.c[1], ", ", gamma.prior.c[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste(gamma_c_text, paste(prior.dist.d["gamma.prior.c"]), "(", gamma.prior.c[1], ", ", gamma.prior.c[2], ")", sep = "")
}
if(prior.dist["gamma.prior.c"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$gamma.prior.c[-1]) != 3) { stop(stop_dist_val)}
gamma.prior.c <- as.numeric(prior.list$gamma.prior.c[-1])
prior_deltae_str <- paste(gamma_c_text, paste(prior.dist.d["gamma.prior.c"]), "(", gamma.prior.c[1], ", ", gamma.prior.c[2], ", ", gamma.prior.c[3], ")", sep = "")
}
if(prior.dist["gamma.prior.c"] %in% c("hyper")) {
if(length(prior.list$gamma.prior.c[-1]) != 4) { stop(stop_dist_val)}
gamma.prior.c <- as.numeric(prior.list$gamma.prior.c[-1])
prior_deltae_str <- paste(gamma_c_text, paste(prior.dist.d["gamma.prior.c"]), "(", gamma.prior.c[1], ", ", gamma.prior.c[2], ", ", gamma.prior.c[3], ", ", gamma.prior.c[4], ")", sep = "")
}
model_string_jags <- gsub(paste(gamma_c_text, "dnorm(0, 0.01)", sep = ""), prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(length(model_txt_info$model_mc_random) != 0){
if(model_txt_info$zc_random == 1) {
mu_g_c_hat_text <- paste("mmu_g_c_hat[time] ~ ")
s_g_c_hat_text <- paste("s_g_c_hat[time] ~ ")}
if(model_txt_info$zc_random > 1) {
mu_g_c_hat_text <- paste("mu_g_c_hat[j, time] ~ ")
s_g_c_hat_text <- paste("s_g_c_hat[j, time] ~ ")}
if(!is.null(prior.list$mu.g.prior.c) & grepl(mu_g_c_hat_text, model_string_jags, fixed = TRUE)) {
if(prior.dist["mu.g.prior.c"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$mu.g.prior.c[-1]) != 1) { stop(stop_dist_val)}
mu.g.prior.c <- as.numeric(prior.list$mu.g.prior.c[-1])
prior_deltae_str <- paste(mu_g_c_hat_text, paste(prior.dist.d["mu.g.prior.c"]), "(", mu.g.prior.c, ")", sep = "")
}
if(prior.dist["mu.g.prior.c"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$mu.g.prior.c[-1]) != 2) { stop(stop_dist_val)}
mu.g.prior.c <- as.numeric(prior.list$mu.g.prior.c[-1])
if(prior.dist.d["mu.g.prior.c"] == "dhalf-norm") {
prior.dist.d["mu.g.prior.c"] <- "dnorm"
prior_deltae_str <- paste(mu_g_c_hat_text, paste(prior.dist.d["mu.g.prior.c"]), "(", mu.g.prior.c[1], ", ", mu.g.prior.c[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.g.prior.c"] == "dhalf-cauchy") {
prior.dist.d["mu.g.prior.c"] <- "dt"
prior_deltae_str <- paste(mu_g_c_hat_text, paste(prior.dist.d["mu.g.prior.c"]), "(", mu.g.prior.c[1], ", ", mu.g.prior.c[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.g.prior.c"] == "dcauchy") {
prior.dist.d["mu.g.prior.c"] <- "dt"
prior_deltae_str <- paste(mu_g_c_hat_text, paste(prior.dist.d["mu.g.prior.c"]), "(", mu.g.prior.c[1], ", ", mu.g.prior.c[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste(mu_g_c_hat_text, paste(prior.dist.d["mu.g.prior.c"]), "(", mu.g.prior.c[1], ", ", mu.g.prior.c[2], ")", sep = "")
}
if(prior.dist["mu.g.prior.c"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$mu.g.prior.c[-1]) != 3) { stop(stop_dist_val)}
mu.g.prior.c <- as.numeric(prior.list$mu.g.prior.c[-1])
prior_deltae_str <- paste(mu_g_c_hat_text, paste(prior.dist.d["mu.g.prior.c"]), "(", mu.g.prior.c[1], ", ", mu.g.prior.c[2], ", ", mu.g.prior.c[3], ")", sep = "")
}
if(prior.dist["mu.g.prior.c"] %in% c("hyper")) {
if(length(prior.list$mu.g.prior.c[-1]) != 4) { stop(stop_dist_val)}
mu.g.prior.c <- as.numeric(prior.list$mu.g.prior.c[-1])
prior_deltae_str <- paste(mu_g_c_hat_text, paste(prior.dist.d["mu.g.prior.c"]), "(", mu.g.prior.c[1], ", ", mu.g.prior.c[2], ", ", mu.g.prior.c[3], ", ", mu.g.prior.c[4], ")", sep = "")
}
model_string_jags <- gsub(paste(mu_g_c_hat_text, "dnorm(0, 0.001)", sep = ""), prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(!is.null(prior.list$s.g.prior.c) & grepl(s_g_c_hat_text, model_string_jags, fixed = TRUE)) {
if(prior.dist["s.g.prior.c"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$s.g.prior.c[-1]) != 1) { stop(stop_dist_val)}
s.g.prior.c <- as.numeric(prior.list$s.g.prior.c[-1])
prior_deltae_str <- paste(s_g_c_hat_text, paste(prior.dist.d["s.g.prior.c"]), "(", s.g.prior.c, ")", sep = "")
}
if(prior.dist["s.g.prior.c"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$s.g.prior.c[-1]) != 2) { stop(stop_dist_val)}
s.g.prior.c <- as.numeric(prior.list$s.g.prior.c[-1])
if(prior.dist.d["s.g.prior.c"] == "dhalf-norm") {
prior.dist.d["s.g.prior.c"] <- "dnorm"
prior_deltae_str <- paste(s_g_c_hat_text, paste(prior.dist.d["s.g.prior.c"]), "(", s.g.prior.c[1], ", ", s.g.prior.c[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["s.g.prior.c"] == "dhalf-cauchy") {
prior.dist.d["s.g.prior.c"] <- "dt"
prior_deltae_str <- paste(s_g_c_hat_text, paste(prior.dist.d["s.g.prior.c"]), "(", s.g.prior.c[1], ", ", s.g.prior.c[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["s.g.prior.c"] == "dcauchy") {
prior.dist.d["s.g.prior.c"] <- "dt"
prior_deltae_str <- paste(s_g_c_hat_text, paste(prior.dist.d["s.g.prior.c"]), "(", s.g.prior.c[1], ", ", s.g.prior.c[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste(s_g_c_hat_text, paste(prior.dist.d["s.g.prior.c"]), "(", s.g.prior.c[1], ", ", s.g.prior.c[2], ")", sep = "")
}
if(prior.dist["s.g.prior.c"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$s.g.prior.c[-1]) != 3) { stop(stop_dist_val)}
s.g.prior.c <- as.numeric(prior.list$s.g.prior.c[-1])
prior_deltae_str <- paste(s_g_c_hat_text, paste(prior.dist.d["s.g.prior.c"]), "(", s.g.prior.c[1], ", ", s.g.prior.c[2], ", ", s.g.prior.c[3], ")", sep = "")
}
if(prior.dist["s.g.prior.c"] %in% c("hyper")) {
if(length(prior.list$s.g.prior.c[-1]) != 4) { stop(stop_dist_val)}
s.g.prior.c <- as.numeric(prior.list$s.g.prior.c[-1])
prior_deltae_str <- paste(s_g_c_hat_text, paste(prior.dist.d["s.g.prior.c"]), "(", s.g.prior.c[1], ", ", s.g.prior.c[2], ", ", s.g.prior.c[3], ", ", s.g.prior.c[4], ")", sep = "")
}
model_string_jags <- gsub(paste(s_g_c_hat_text, "dunif(0, 100)", sep = ""), prior_deltae_str, model_string_jags, fixed = TRUE)
}
}
if(!is.null(prior.list$alpha.prior) & grepl("alpha[j, time] ~ ", model_string_jags, fixed = TRUE)) {
if(prior.dist["alpha.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$alpha.prior[-1]) != 1) { stop(stop_dist_val)}
alpha.prior <- as.numeric(prior.list$alpha.prior[-1])
prior_deltae_str <- paste("alpha[j, time] ~ ", paste(prior.dist.d["alpha.prior"]), "(", alpha.prior, ")", sep = "")
}
if(prior.dist["alpha.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$alpha.prior[-1]) != 2) { stop(stop_dist_val)}
alpha.prior <- as.numeric(prior.list$alpha.prior[-1])
if(prior.dist.d["alpha.prior"] == "dhalf-norm") {
prior.dist.d["alpha.prior"] <- "dnorm"
prior_deltae_str <- paste("alpha[j, time] ~ ", paste(prior.dist.d["alpha.prior"]), "(", alpha.prior[1], ", ", alpha.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["alpha.prior"] == "dhalf-cauchy") {
prior.dist.d["alpha.prior"] <- "dt"
prior_deltae_str <- paste("alpha[j, time] ~ ", paste(prior.dist.d["alpha.prior"]), "(", alpha.prior[1], ", ", alpha.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["alpha.prior"] == "dcauchy") {
prior.dist.d["alpha.prior"] <- "dt"
prior_deltae_str <- paste("alpha[j, time] ~ ", paste(prior.dist.d["alpha.prior"]), "(", alpha.prior[1], ", ", alpha.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste("alpha[j, time] ~ ", paste(prior.dist.d["alpha.prior"]), "(", alpha.prior[1], ", ", alpha.prior[2], ")", sep = "")
}
if(prior.dist["alpha.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$alpha.prior[-1]) != 3) { stop(stop_dist_val)}
alpha.prior <- as.numeric(prior.list$alpha.prior[-1])
prior_deltae_str <- paste("alpha[j, time] ~ ", paste(prior.dist.d["alpha.prior"]), "(", alpha.prior[1], ", ", alpha.prior[2], ", ", alpha.prior[3], ")", sep = "")
}
if(prior.dist["alpha.prior"] %in% c("hyper")) {
if(length(prior.list$alpha.prior[-1]) != 4) { stop(stop_dist_val)}
alpha.prior <- as.numeric(prior.list$alpha.prior[-1])
prior_deltae_str <- paste("alpha[j] ~ ", paste(prior.dist.d["alpha.prior"]), "(", alpha.prior[1], ", ", alpha.prior[2], ", ", alpha.prior[3], ", ", alpha.prior[4], ")", sep = "")
}
model_string_jags <- gsub("alpha[j, time] ~ dnorm(0, 0.0000001)", prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(length(model_txt_info$model_e_random) != 0) {
if(model_txt_info$pe_random == 1) {
mu_a_hat_text <- paste("mu_a_hat[time] ~ ")
s_a_hat_text <- paste("s_a_hat[time] ~ ")}
if(model_txt_info$pe_random > 1) {
mu_a_hat_text <- paste("mu_a_hat[j, time] ~ ")
s_a_hat_text <- paste("s_a_hat[j, time] ~ ")}
if(!is.null(prior.list$mu.a.prior) & grepl(mu_a_hat_text, model_string_jags, fixed = TRUE)) {
if(prior.dist["mu.a.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$mu.a.prior[-1]) != 1) { stop(stop_dist_val)}
mu.a.prior <- as.numeric(prior.list$mu.a.prior[-1])
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a.prior"]), "(", mu.a.prior, ")", sep = "")
}
if(prior.dist["mu.a.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$mu.a.prior[-1]) != 2) { stop(stop_dist_val)}
mu.a.prior <- as.numeric(prior.list$mu.a.prior[-1])
if(prior.dist.d["mu.a.prior"] == "dhalf-norm") {
prior.dist.d["mu.a.prior"] <- "dnorm"
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a.prior"]), "(", mu.a.prior[1], ", ", mu.a.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.a.prior"] == "dhalf-cauchy") {
prior.dist.d["mu.a.prior"] <- "dt"
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a.prior"]), "(", mu.a.prior[1], ", ", mu.a.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.a.prior"] == "dcauchy") {
prior.dist.d["mu.a.prior"] <- "dt"
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a.prior"]), "(", mu.a.prior[1], ", ", mu.a.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a.prior"]), "(", mu.a.prior[1], ", ", mu.a.prior[2], ")", sep = "")
}
if(prior.dist["mu.a.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$mu.a.prior[-1]) != 3) { stop(stop_dist_val)}
mu.a.prior <- as.numeric(prior.list$mu.a.prior[-1])
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a.prior"]), "(", mu.a.prior[1], ", ", mu.a.prior[2], ", ", mu.a.prior[3], ")", sep = "")
}
if(prior.dist["mu.a.prior"] %in% c("hyper")) {
if(length(prior.list$mu.a.prior[-1]) != 4) { stop(stop_dist_val)}
mu.a.prior <- as.numeric(prior.list$mu.a.prior[-1])
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a.prior"]), "(", mu.a.prior[1], ", ", mu.a.prior[2], ", ", mu.a.prior[3], ", ", mu.a.prior[4], ")", sep = "")
}
model_string_jags <- gsub(paste(mu_a_hat_text, "dnorm(0, 0.001)", sep = ""), prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(!is.null(prior.list$s.a.prior) & grepl(s_a_hat_text, model_string_jags, fixed = TRUE)) {
if(prior.dist["s.a.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$s.a.prior[-1]) != 1) { stop(stop_dist_val)}
s.a.prior <- as.numeric(prior.list$s.a.prior[-1])
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a.prior"]), "(", s.a.prior, ")", sep = "")
}
if(prior.dist["s.a.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$s.a.prior[-1]) != 2) { stop(stop_dist_val)}
s.a.prior <- as.numeric(prior.list$s.a.prior[-1])
if(prior.dist.d["s.a.prior"] == "dhalf-norm") {
prior.dist.d["s.a.prior"] <- "dnorm"
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a.prior"]), "(", s.a.prior[1], ", ", s.a.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["s.a.prior"] == "dhalf-cauchy") {
prior.dist.d["s.a.prior"] <- "dt"
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a.prior"]), "(", s.a.prior[1], ", ", s.a.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["s.a.prior"] == "dcauchy") {
prior.dist.d["s.a.prior"] <- "dt"
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a.prior"]), "(", s.a.prior[1], ", ", s.a.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a.prior"]), "(", s.a.prior[1], ", ", s.a.prior[2], ")", sep = "")
}
if(prior.dist["s.a.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$s.a.prior[-1]) != 3) { stop(stop_dist_val)}
s.a.prior <- as.numeric(prior.list$s.a.prior[-1])
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a.prior"]), "(", s.a.prior[1], ", ", s.a.prior[2], ", ", s.a.prior[3], ")", sep = "")
}
if(prior.dist["s.a.prior"] %in% c("hyper")) {
if(length(prior.list$s.a.prior[-1]) != 4) { stop(stop_dist_val)}
s.a.prior <- as.numeric(prior.list$s.a.prior[-1])
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a.prior"]), "(", s.a.prior[1], ", ", s.a.prior[2], ", ", s.a.prior[3], ", ", s.a.prior[4], ")", sep = "")
}
model_string_jags <- gsub(paste(s_a_hat_text, "dunif(0, 100)", sep = ""), prior_deltae_str, model_string_jags, fixed = TRUE)
}
}
if(!is.null(prior.list$beta.prior) & grepl("beta[j, time] ~ ", model_string_jags, fixed = TRUE)) {
if(prior.dist["beta.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$beta.prior[-1]) != 1) { stop(stop_dist_val)}
beta.prior <- as.numeric(prior.list$beta.prior[-1])
prior_deltae_str <- paste("beta[j, time] ~ ", paste(prior.dist.d["beta.prior"]), "(", beta.prior, ")", sep = "")
}
if(prior.dist["beta.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$beta.prior[-1]) != 2) { stop(stop_dist_val)}
beta.prior <- as.numeric(prior.list$beta.prior[-1])
if(prior.dist.d["beta.prior"] == "dhalf-norm") {
prior.dist.d["beta.prior"] <- "dnorm"
prior_deltae_str <- paste("beta[j, time] ~ ", paste(prior.dist.d["beta.prior"]), "(", beta.prior[1], ", ", beta.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["beta.prior"] == "dhalf-cauchy") {
prior.dist.d["beta.prior"] <- "dt"
prior_deltae_str <- paste("beta[j, time] ~ ", paste(prior.dist.d["beta.prior"]), "(", beta.prior[1], ", ", beta.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["beta.prior"] == "dcauchy") {
prior.dist.d["beta.prior"] <- "dt"
prior_deltae_str <- paste("beta[j, time] ~ ", paste(prior.dist.d["beta.prior"]), "(", beta.prior[1], ", ", beta.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste("beta[j, time] ~ ", paste(prior.dist.d["beta.prior"]), "(", beta.prior[1], ", ", beta.prior[2], ")", sep = "")
}
if(prior.dist["beta.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$beta.prior[-1]) != 3) { stop(stop_dist_val)}
beta.prior <- as.numeric(prior.list$beta.prior[-1])
prior_deltae_str <- paste("beta[j, time] ~ ", paste(prior.dist.d["beta.prior"]), "(", beta.prior[1], ", ", beta.prior[2], ", ", beta.prior[3], ")", sep = "")
}
if(prior.dist["beta.prior"] %in% c("hyper")) {
if(length(prior.list$beta.prior[-1]) != 4) { stop(stop_dist_val)}
beta.prior <- as.numeric(prior.list$beta.prior[-1])
prior_deltae_str <- paste("beta[j, time] ~ ", paste(prior.dist.d["beta.prior"]), "(", beta.prior[1], ", ", beta.prior[2], ", ", beta.prior[3], ", ", beta.prior[4], ")", sep = "")
}
model_string_jags <- gsub("beta[j, time] ~ dnorm(0, 0.0000001)", prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(length(model_txt_info$model_c_random) != 0) {
if(model_txt_info$pc_random == 1) {
mu_b_hat_text <- paste("mu_b_hat[time] ~ ")
s_b_hat_text <- paste("s_b_hat[time] ~ ")}
if(model_txt_info$pc_random > 1) {
mu_b_hat_text <- paste("mu_b_hat[j, time] ~ ")
s_b_hat_text <- paste("s_b_hat[j, time] ~ ")}
if(!is.null(prior.list$mu.b.prior) & grepl(mu_b_hat_text, model_string_jags, fixed = TRUE)) {
if(prior.dist["mu.b.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$mu.b.prior[-1]) != 1) { stop(stop_dist_val)}
mu.b.prior <- as.numeric(prior.list$mu.b.prior[-1])
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b.prior"]), "(", mu.b.prior, ")", sep = "")
}
if(prior.dist["mu.b.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$mu.b.prior[-1]) != 2) { stop(stop_dist_val)}
mu.b.prior <- as.numeric(prior.list$mu.b.prior[-1])
if(prior.dist.d["mu.b.prior"] == "dhalf-norm") {
prior.dist.d["mu.b.prior"] <- "dnorm"
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b.prior"]), "(", mu.b.prior[1], ", ", mu.b.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.b.prior"] == "dhalf-cauchy") {
prior.dist.d["mu.b.prior"] <- "dt"
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b.prior"]), "(", mu.b.prior[1], ", ", mu.b.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.b.prior"] == "dcauchy") {
prior.dist.d["mu.b.prior"] <- "dt"
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b.prior"]), "(", mu.b.prior[1], ", ", mu.b.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b.prior"]), "(", mu.b.prior[1], ", ", mu.b.prior[2], ")", sep = "")
}
if(prior.dist["mu.b.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$mu.b.prior[-1]) != 3) { stop(stop_dist_val)}
mu.b.prior <- as.numeric(prior.list$mu.b.prior[-1])
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b.prior"]), "(", mu.b.prior[1], ", ", mu.b.prior[2], ", ", mu.b.prior[3], ")", sep = "")
}
if(prior.dist["mu.b.prior"] %in% c("hyper")) {
if(length(prior.list$mu.b.prior[-1]) != 4) { stop(stop_dist_val)}
mu.b.prior <- as.numeric(prior.list$mu.b.prior[-1])
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b.prior"]), "(", mu.b.prior[1], ", ", mu.b.prior[2], ", ", mu.b.prior[3], ", ", mu.b.prior[4], ")", sep = "")
}
model_string_jags <- gsub(paste(mu_b_hat_text, "dnorm(0, 0.001)", sep = ""), prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(!is.null(prior.list$s.b.prior) & grepl(s_b_hat_text, model_string_jags, fixed = TRUE)) {
if(prior.dist["s.b.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$s.b.prior[-1]) != 1) { stop(stop_dist_val)}
s.b.prior <- as.numeric(prior.list$s.b.prior[-1])
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b.prior"]), "(", s.b.prior, ")", sep = "")
}
if(prior.dist["s.b.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$s.b.prior[-1]) != 2) { stop(stop_dist_val)}
s.b.prior <- as.numeric(prior.list$s.b.prior[-1])
if(prior.dist.d["s.b.prior"] == "dhalf-norm") {
prior.dist.d["s.b.prior"] <- "dnorm"
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b.prior"]), "(", s.b.prior[1], ", ", s.b.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["s.b.prior"] == "dhalf-cauchy") {
prior.dist.d["s.b.prior"] <- "dt"
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b.prior"]), "(", s.b.prior[1], ", ", s.b.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["s.b.prior"] == "dcauchy") {
prior.dist.d["s.b.prior"] <- "dt"
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b.prior"]), "(", s.b.prior[1], ", ", s.b.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b.prior"]), "(", s.b.prior[1], ", ", s.b.prior[2], ")", sep = "")
}
if(prior.dist["s.b.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$s.b.prior[-1]) != 3) { stop(stop_dist_val)}
s.b.prior <- as.numeric(prior.list$s.b.prior[-1])
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b.prior"]), "(", s.b.prior[1], ", ", s.b.prior[2], ", ", s.b.prior[3], ")", sep = "")
}
if(prior.dist["s.b.prior"] %in% c("hyper")) {
if(length(prior.list$s.b.prior[-1]) != 4) { stop(stop_dist_val)}
s.b.prior <- as.numeric(prior.list$s.b.prior[-1])
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b.prior"]), "(", s.b.prior[1], ", ", s.b.prior[2], ", ", s.b.prior[3], ", ", s.b.prior[4], ")", sep = "")
}
model_string_jags <- gsub(paste(s_b_hat_text, "dunif(0, 100)", sep = ""), prior_deltae_str, model_string_jags, fixed = TRUE)
}
}
if(!is.null(prior.list$sigma.prior.e) & grepl("s_e[time] ~ ", model_string_jags, fixed = TRUE) |
!is.null(prior.list$sigma.prior.e) & grepl("tau_e[time] ~ ", model_string_jags, fixed = TRUE)) {
if(prior.dist["sigma.prior.e"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$sigma.prior.e[-1]) != 1) { stop(stop_dist_val)}
sigma.prior.e <- as.numeric(prior.list$sigma.prior.e[-1])
prior_deltae_str <- paste("s_e[time] ~ ", paste(prior.dist.d["sigma.prior.e"]), "(", sigma.prior.e, ")", sep = "")
}
if(prior.dist["sigma.prior.e"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$sigma.prior.e[-1]) != 2) { stop(stop_dist_val)}
sigma.prior.e <- as.numeric(prior.list$sigma.prior.e[-1])
if(prior.dist.d["sigma.prior.e"] == "dhalf-norm") {
prior.dist.d["sigma.prior.e"] <- "dnorm"
prior_deltae_str <- paste("s_e[time] ~ ", paste(prior.dist.d["sigma.prior.e"]), "(", sigma.prior.e[1], ", ", sigma.prior.e[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["sigma.prior.e"] == "dhalf-cauchy") {
prior.dist.d["sigma.prior.e"] <- "dt"
prior_deltae_str <- paste("s_e[time] ~ ", paste(prior.dist.d["sigma.prior.e"]), "(", sigma.prior.e[1], ", ", sigma.prior.e[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["sigma.prior.e"] == "dcauchy") {
prior.dist.d["sigma.prior.e"] <- "dt"
prior_deltae_str <- paste("s_e[time] ~ ", paste(prior.dist.d["sigma.prior.e"]), "(", sigma.prior.e[1], ", ", sigma.prior.e[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste("s_e[time] ~ ", paste(prior.dist.d["sigma.prior.e"]), "(", sigma.prior.e[1], ", ", sigma.prior.e[2], ")", sep = "")
}
if(prior.dist["sigma.prior.e"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$sigma.prior.e[-1]) != 3) { stop(stop_dist_val)}
sigma.prior.e <- as.numeric(prior.list$sigma.prior.e[-1])
prior_deltae_str <- paste("s_e[time] ~ ", paste(prior.dist.d["sigma.prior.e"]), "(", sigma.prior.e[1], ", ", sigma.prior.e[2], ", ", sigma.prior.e[3], ")", sep = "")
}
if(prior.dist["sigma.prior.e"] %in% c("hyper")) {
if(length(prior.list$sigma.prior.e[-1]) != 4) { stop(stop_dist_val)}
sigma.prior.e <- as.numeric(prior.list$sigma.prior.e[-1])
prior_deltae_str <- paste("s_e[time] ~ ", paste(prior.dist.d["sigma.prior.e"]), "(", sigma.prior.e[1], ", ", sigma.prior.e[2], ", ", sigma.prior.e[3], ", ", sigma.prior.e[4], ")", sep = "")
}
if(dist_e == "norm") {
model_string_jags <- gsub("s_e[time] ~ dt(0, pow(2.5, -2), 1)T(0,)", prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(dist_e == "beta") {
model_string_jags <- gsub("s_e[time] ~ dunif(0, sqrt(tmu_e[time] * (1 - tmu_e[time])))", prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(dist_e %in% c("gamma", "logis")) {
model_string_jags <- gsub("s_e[time] ~ dunif(0, 10000)", prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(dist_e %in% c("exp", "bern", "pois", "weib")) {
model_string_jags <- gsub("s_e[time] ~ dunif(0, 100)", prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(dist_e == "negbin") {
prior_deltae_str <- gsub("s_e[time]", "tau_e[time]", prior_deltae_str, fixed = TRUE)
model_string_jags <- gsub("tau_e[time] ~ dunif(0, 100)", prior_deltae_str, model_string_jags, fixed = TRUE)
}
}
if(!is.null(prior.list$sigma.prior.c) & grepl("s_c[time] ~ ", model_string_jags, fixed = TRUE)) {
if(prior.dist["sigma.prior.c"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$sigma.prior.c[-1]) != 1) { stop(stop_dist_val)}
sigma.prior.c <- as.numeric(prior.list$sigma.prior.c[-1])
prior_deltae_str <- paste("s_c[time] ~ ", paste(prior.dist.d["sigma.prior.c"]), "(", sigma.prior.c, ")", sep = "")
}
if(prior.dist["sigma.prior.c"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$sigma.prior.c[-1]) != 2) { stop(stop_dist_val)}
sigma.prior.c <- as.numeric(prior.list$sigma.prior.c[-1])
if(prior.dist.d["sigma.prior.c"] == "dhalf-norm") {
prior.dist.d["sigma.prior.c"] <- "dnorm"
prior_deltae_str <- paste("s_c[time] ~ ", paste(prior.dist.d["sigma.prior.c"]), "(", sigma.prior.c[1], ", ", sigma.prior.c[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["sigma.prior.c"] == "dhalf-cauchy") {
prior.dist.d["sigma.prior.c"] <- "dt"
prior_deltae_str <- paste("s_c[time] ~ ", paste(prior.dist.d["sigma.prior.c"]), "(", sigma.prior.c[1], ", ", sigma.prior.c[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["sigma.prior.c"] == "dcauchy") {
prior.dist.d["sigma.prior.c"] <- "dt"
prior_deltae_str <- paste("s_c[time] ~ ", paste(prior.dist.d["sigma.prior.c"]), "(", sigma.prior.c[1], ", ", sigma.prior.c[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste("s_c[time] ~ ", paste(prior.dist.d["sigma.prior.c"]), "(", sigma.prior.c[1], ", ", sigma.prior.c[2], ")", sep = "")
}
if(prior.dist["sigma.prior.c"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$sigma.prior.c[-1]) != 3) { stop(stop_dist_val)}
sigma.prior.c <- as.numeric(prior.list$sigma.prior.c[-1])
prior_deltae_str <- paste("s_c[time] ~ ", paste(prior.dist.d["sigma.prior.c"]), "(", sigma.prior.c[1], ", ", sigma.prior.c[2], ", ", sigma.prior.c[3], ")", sep = "")
}
if(prior.dist["sigma.prior.c"] %in% c("hyper")) {
if(length(prior.list$sigma.prior.c[-1]) != 4) { stop(stop_dist_val)}
sigma.prior.c <- as.numeric(prior.list$sigma.prior.c[-1])
prior_deltae_str <- paste("s_c[time] ~ ", paste(prior.dist.d["sigma.prior.c"]), "(", sigma.prior.c[1], ", ", sigma.prior.c[2], ", ", sigma.prior.c[3], ", ", sigma.prior.c[4], ")", sep = "")
}
if(dist_c == "norm") {
model_string_jags <- gsub("s_c[time] ~ dt(0, pow(2.5, -2), 1)T(0,)", prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(dist_c == "lnorm") {
prior_deltae_str <- gsub("s_c[time]", "ls_c[time]", prior_deltae_str, fixed = TRUE)
model_string_jags <- gsub("ls_c[time] ~ dunif(0, 10)", prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(dist_c == "gamma") {
model_string_jags <- gsub("s_c[time] ~ dunif(0, 10000)", prior_deltae_str, model_string_jags, fixed = TRUE)
}
}
if(!is.null(prior.list$beta_f.prior) & grepl("beta_f[time] ~ ", model_string_jags, fixed = TRUE)) {
if(prior.dist["beta_f.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$beta_f.prior[-1]) != 1) { stop(stop_dist_val)}
beta_f.prior <- as.numeric(prior.list$beta_f.prior[-1])
prior_deltae_str <- paste("beta_f[time] ~ ", paste(prior.dist.d["beta_f.prior"]), "(", beta_f.prior, ")", sep = "")
}
if(prior.dist["beta_f.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$beta_f.prior[-1]) != 2) { stop(stop_dist_val)}
beta_f.prior <- as.numeric(prior.list$beta_f.prior[-1])
if(prior.dist.d["beta_f.prior"] == "dhalf-norm") {
prior.dist.d["beta_f.prior"] <- "dnorm"
prior_deltae_str <- paste("beta_f[time] ~ ", paste(prior.dist.d["beta_f.prior"]), "(", beta_f.prior[1], ", ", beta_f.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["beta_f.prior"] == "dhalf-cauchy") {
prior.dist.d["beta_f.prior"] <- "dt"
prior_deltae_str <- paste("beta_f[time] ~ ", paste(prior.dist.d["beta_f.prior"]), "(", beta_f.prior[1], ", ", beta_f.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["beta_f.prior"] == "dcauchy") {
prior.dist.d["beta_f.prior"] <- "dt"
prior_deltae_str <- paste("beta_f[time] ~ ", paste(prior.dist.d["beta_f.prior"]), "(", beta_f.prior[1], ", ", beta_f.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste("beta_f[time] ~ ", paste(prior.dist.d["beta_f.prior"]), "(", beta_f.prior[1], ", ", beta_f.prior[2], ")", sep = "")
}
if(prior.dist["beta_f.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$beta_f.prior[-1]) != 3) { stop(stop_dist_val)}
beta_f.prior <- as.numeric(prior.list$beta_f.prior[-1])
prior_deltae_str <- paste("beta_f[time] ~ ", paste(prior.dist.d["beta_f.prior"]), "(", beta_f.prior[1], ", ", beta_f.prior[2], ", ", beta_f.prior[3], ")", sep = "")
}
if(prior.dist["beta_f.prior"] %in% c("hyper")) {
if(length(prior.list$beta_f.prior[-1]) != 4) { stop(stop_dist_val)}
beta_f.prior <- as.numeric(prior.list$beta_f.prior[-1])
prior_deltae_str <- paste("beta_f[time] ~ ", paste(prior.dist.d["beta_f.prior"]), "(", beta_f.prior[1], ", ", beta_f.prior[2], ", ", beta_f.prior[3], ", ", beta_f.prior[4], ")", sep = "")
}
model_string_jags <- gsub("beta_f[time] ~ dnorm(0, 0.0000001)", prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(!is.null(prior.list$mu.b_f.prior) & grepl("mu_b_f_hat[time] ~", model_string_jags, fixed = TRUE)) {
mu_b_f_hat_text <- paste("mu_b_f_hat[time] ~ ")
if(prior.dist["mu.b_f.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$mu.b_f.prior[-1]) != 1) { stop(stop_dist_val)}
mu.b_f.prior <- as.numeric(prior.list$mu.b_f.prior[-1])
prior_deltae_str <- paste(mu_b_f_hat_text, paste(prior.dist.d["mu.b_f.prior"]), "(", mu.b_f.prior, ")", sep = "")
}
if(prior.dist["mu.b_f.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$mu.b_f.prior[-1]) != 2) { stop(stop_dist_val)}
mu.b_f.prior <- as.numeric(prior.list$mu.b_f.prior[-1])
if(prior.dist.d["mu.b_f.prior"] == "dhalf-norm") {
prior.dist.d["mu.b_f.prior"] <- "dnorm"
prior_deltae_str <- paste(mu_b_f_hat_text, paste(prior.dist.d["mu.b_f.prior"]), "(", mu.b_f.prior[1], ", ", mu.b_f.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.b_f.prior"] == "dhalf-cauchy") {
prior.dist.d["mu.b_f.prior"] <- "dt"
prior_deltae_str <- paste(mu_b_f_hat_text, paste(prior.dist.d["mu.b_f.prior"]), "(", mu.b_f.prior[1], ", ", mu.b_f.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.b_f.prior"] == "dcauchy") {
prior.dist.d["mu.b_f.prior"] <- "dt"
prior_deltae_str <- paste(mu_b_f_hat_text, paste(prior.dist.d["mu.b_f.prior"]), "(", mu.b_f.prior[1], ", ", mu.b_f.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste(mu_b_f_hat_text, paste(prior.dist.d["mu.b_f.prior"]), "(", mu.b_f.prior[1], ", ", mu.b_f.prior[2], ")", sep = "")
}
if(prior.dist["mu.b_f.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$mu.b_f.prior[-1]) != 3) { stop(stop_dist_val)}
mu.b_f.prior <- as.numeric(prior.list$mu.b_f.prior[-1])
prior_deltae_str <- paste(mu_b_f_hat_text, paste(prior.dist.d["mu.b_f.prior"]), "(", mu.b_f.prior[1], ", ", mu.b_f.prior[2], ", ", mu.b_f.prior[3], ")", sep = "")
}
if(prior.dist["mu.b_f.prior"] %in% c("hyper")) {
if(length(prior.list$mu.b_f.prior[-1]) != 4) { stop(stop_dist_val)}
mu.b_f.prior <- as.numeric(prior.list$mu.b_f.prior[-1])
prior_deltae_str <- paste(mu_b_f_hat_text, paste(prior.dist.d["mu.b_f.prior"]), "(", mu.b_f.prior[1], ", ", mu.b_f.prior[2], ", ", mu.b_f.prior[3], ", ", mu.b_f.prior[4], ")", sep = "")
}
model_string_jags <- gsub(paste(mu_b_f_hat_text, "dnorm(0, 0.001)", sep = ""), prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(!is.null(prior.list$s.b_f.prior) & grepl("s_b_f_hat[time] ~", model_string_jags, fixed = TRUE)) {
s_b_f_hat_text <- paste("s_b_f_hat[time] ~ ")
if(prior.dist["s.b_f.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$s.b_f.prior[-1]) != 1) { stop(stop_dist_val)}
s.b_f.prior <- as.numeric(prior.list$s.b_f.prior[-1])
prior_deltae_str <- paste(s_b_f_hat_text, paste(prior.dist.d["s.b_f.prior"]), "(", s.b_f.prior, ")", sep = "")
}
if(prior.dist["s.b_f.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$s.b_f.prior[-1]) != 2) { stop(stop_dist_val)}
s.b_f.prior <- as.numeric(prior.list$s.b_f.prior[-1])
if(prior.dist.d["s.b_f.prior"] == "dhalf-norm") {
prior.dist.d["s.b_f.prior"] <- "dnorm"
prior_deltae_str <- paste(s_b_f_hat_text, paste(prior.dist.d["s.b_f.prior"]), "(", s.b_f.prior[1], ", ", s.b_f.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["s.b_f.prior"] == "dhalf-cauchy") {
prior.dist.d["s.b_f.prior"] <- "dt"
prior_deltae_str <- paste(s_b_f_hat_text, paste(prior.dist.d["s.b_f.prior"]), "(", s.b_f.prior[1], ", ", s.b_f.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["s.b_f.prior"] == "dcauchy") {
prior.dist.d["s.b_f.prior"] <- "dt"
prior_deltae_str <- paste(s_b_f_hat_text, paste(prior.dist.d["s.b_f.prior"]), "(", s.b_f.prior[1], ", ", s.b_f.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste(s_b_f_hat_text, paste(prior.dist.d["s.b_f.prior"]), "(", s.b_f.prior[1], ", ", s.b_f.prior[2], ")", sep = "")
}
if(prior.dist["s.b_f.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$s.b_f.prior[-1]) != 3) { stop(stop_dist_val)}
s.b_f.prior <- as.numeric(prior.list$s.b_f.prior[-1])
prior_deltae_str <- paste(s_b_f_hat_text, paste(prior.dist.d["s.b_f.prior"]), "(", s.b_f.prior[1], ", ", s.b_f.prior[2], ", ", s.b_f.prior[3], ")", sep = "")
}
if(prior.dist["s.b_f.prior"] %in% c("hyper")) {
if(length(prior.list$s.b_f.prior[-1]) != 4) { stop(stop_dist_val)}
s.b_f.prior <- as.numeric(prior.list$s.b_f.prior[-1])
prior_deltae_str <- paste(s_b_f_hat_text, paste(prior.dist.d["s.b_f.prior"]), "(", s.b_f.prior[1], ", ", s.b_f.prior[2], ", ", s.b_f.prior[3], ", ", s.b_f.prior[4], ")", sep = "")
}
model_string_jags <- gsub(paste(s_b_f_hat_text, "dunif(0, 100)", sep = ""), prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(model_txt_info$time_dep == "AR1") {
if(!is.null(prior.list$alpha_te.prior) & grepl("alpha_te[time] ~ ", model_string_jags, fixed = TRUE)) {
if(prior.dist["alpha_te.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$alpha_te.prior[-1]) != 1) { stop(stop_dist_val)}
alpha_te.prior <- as.numeric(prior.list$alpha_te.prior[-1])
prior_deltae_str <- paste("alpha_te[time] ~ ", paste(prior.dist.d["alpha_te.prior"]), "(", alpha_te.prior, ")", sep = "")
}
if(prior.dist["alpha_te.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$alpha_te.prior[-1]) != 2) { stop(stop_dist_val)}
alpha_te.prior <- as.numeric(prior.list$alpha_te.prior[-1])
if(prior.dist.d["alpha_te.prior"] == "dhalf-norm") {
prior.dist.d["alpha_te.prior"] <- "dnorm"
prior_deltae_str <- paste("alpha_te[time] ~ ", paste(prior.dist.d["alpha_te.prior"]), "(", alpha_te.prior[1], ", ", alpha_te.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["alpha_te.prior"] == "dhalf-cauchy") {
prior.dist.d["alpha_te.prior"] <- "dt"
prior_deltae_str <- paste("alpha_te[time] ~ ", paste(prior.dist.d["alpha_te.prior"]), "(", alpha_te.prior[1], ", ", alpha_te.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["alpha_te.prior"] == "dcauchy") {
prior.dist.d["alpha_te.prior"] <- "dt"
prior_deltae_str <- paste("alpha_te[time] ~ ", paste(prior.dist.d["alpha_te.prior"]), "(", alpha_te.prior[1], ", ", alpha_te.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste("alpha_te[time] ~ ", paste(prior.dist.d["alpha_te.prior"]), "(", alpha_te.prior[1], ", ", alpha_te.prior[2], ")", sep = "")
}
if(prior.dist["alpha_te.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$alpha_te.prior[-1]) != 3) { stop(stop_dist_val)}
alpha_te.prior <- as.numeric(prior.list$alpha_te.prior[-1])
prior_deltae_str <- paste("alpha_te[time] ~ ", paste(prior.dist.d["alpha_te.prior"]), "(", alpha_te.prior[1], ", ", alpha_te.prior[2], ", ", alpha_te.prior[3], ")", sep = "")
}
if(prior.dist["alpha_te.prior"] %in% c("hyper")) {
if(length(prior.list$alpha_te.prior[-1]) != 4) { stop(stop_dist_val)}
alpha_te.prior <- as.numeric(prior.list$alpha_te.prior[-1])
prior_deltae_str <- paste("alpha_te[time] ~ ", paste(prior.dist.d["alpha_te.prior"]), "(", alpha_te.prior[1], ", ", alpha_te.prior[2], ", ", alpha_te.prior[3], ", ", alpha_te.prior[4], ")", sep = "")
}
model_string_jags <- gsub("alpha_te[time] ~ dnorm(0, 0.0000001)", prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(!is.null(prior.list$alpha_tc.prior) & grepl("alpha_tc[time] ~ ", model_string_jags, fixed = TRUE)) {
if(prior.dist["alpha_tc.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$alpha_tc.prior[-1]) != 1) { stop(stop_dist_val)}
alpha_tc.prior <- as.numeric(prior.list$alpha_tc.prior[-1])
prior_deltae_str <- paste("alpha_tc[time] ~ ", paste(prior.dist.d["alpha_tc.prior"]), "(", alpha_tc.prior, ")", sep = "")
}
if(prior.dist["alpha_tc.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$alpha_tc.prior[-1]) != 2) { stop(stop_dist_val)}
alpha_tc.prior <- as.numeric(prior.list$alpha_tc.prior[-1])
if(prior.dist.d["alpha_tc.prior"] == "dhalf-norm") {
prior.dist.d["alpha_tc.prior"] <- "dnorm"
prior_deltae_str <- paste("alpha_tc[time] ~ ", paste(prior.dist.d["alpha_tc.prior"]), "(", alpha_tc.prior[1], ", ", alpha_tc.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["alpha_tc.prior"] == "dhalf-cauchy") {
prior.dist.d["alpha_tc.prior"] <- "dt"
prior_deltae_str <- paste("alpha_tc[time] ~ ", paste(prior.dist.d["alpha_tc.prior"]), "(", alpha_tc.prior[1], ", ", alpha_tc.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["alpha_tc.prior"] == "dcauchy") {
prior.dist.d["alpha_tc.prior"] <- "dt"
prior_deltae_str <- paste("alpha_tc[time] ~ ", paste(prior.dist.d["alpha_tc.prior"]), "(", alpha_tc.prior[1], ", ", alpha_tc.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste("alpha_tc[time] ~ ", paste(prior.dist.d["alpha_tc.prior"]), "(", alpha_tc.prior[1], ", ", alpha_tc.prior[2], ")", sep = "")
}
if(prior.dist["alpha_tc.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$alpha_tc.prior[-1]) != 3) { stop(stop_dist_val)}
alpha_tc.prior <- as.numeric(prior.list$alpha_tc.prior[-1])
prior_deltae_str <- paste("alpha_tc[time] ~ ", paste(prior.dist.d["alpha_tc.prior"]), "(", alpha_tc.prior[1], ", ", alpha_tc.prior[2], ", ", alpha_tc.prior[3], ")", sep = "")
}
if(prior.dist["alpha_tc.prior"] %in% c("hyper")) {
if(length(prior.list$alpha_tc.prior[-1]) != 4) { stop(stop_dist_val)}
alpha_tc.prior <- as.numeric(prior.list$alpha_tc.prior[-1])
prior_deltae_str <- paste("alpha_tc[time] ~ ", paste(prior.dist.d["alpha_tc.prior"]), "(", alpha_tc.prior[1], ", ", alpha_tc.prior[2], ", ", alpha_tc.prior[3], ", ", alpha_tc.prior[4], ")", sep = "")
}
model_string_jags <- gsub("alpha_tc[time] ~ dnorm(0, 0.0000001)", prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(length(model_txt_info$model_e_random) != 0) {
mu_a_hat_text <- paste("mu_a_te_hat[time] ~ ")
s_a_hat_text <- paste("s_a_te_hat[time] ~ ")
if(!is.null(prior.list$mu.a_te.prior) & grepl(mu_a_hat_text, model_string_jags, fixed = TRUE)) {
if(prior.dist["mu.a_te.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$mu.a_te.prior[-1]) != 1) { stop(stop_dist_val)}
mu.a_te.prior <- as.numeric(prior.list$mu.a_te.prior[-1])
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a_te.prior"]), "(", mu.a_te.prior, ")", sep = "")
}
if(prior.dist["mu.a_te.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$mu.a_te.prior[-1]) != 2) { stop(stop_dist_val)}
mu.a_te.prior <- as.numeric(prior.list$mu.a_te.prior[-1])
if(prior.dist.d["mu.a_te.prior"] == "dhalf-norm") {
prior.dist.d["mu.a_te.prior"] <- "dnorm"
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a_te.prior"]), "(", mu.a_te.prior[1], ", ", mu.a_te.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.a_te.prior"] == "dhalf-cauchy") {
prior.dist.d["mu.a_te.prior"] <- "dt"
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a_te.prior"]), "(", mu.a_te.prior[1], ", ", mu.a_te.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.a_te.prior"] == "dcauchy") {
prior.dist.d["mu.a_te.prior"] <- "dt"
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a_te.prior"]), "(", mu.a_te.prior[1], ", ", mu.a_te.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a_te.prior"]), "(", mu.a_te.prior[1], ", ", mu.a_te.prior[2], ")", sep = "")
}
if(prior.dist["mu.a_te.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$mu.a_te.prior[-1]) != 3) { stop(stop_dist_val)}
mu.a_te.prior <- as.numeric(prior.list$mu.a_te.prior[-1])
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a_te.prior"]), "(", mu.a_te.prior[1], ", ", mu.a_te.prior[2], ", ", mu.a_te.prior[3], ")", sep = "")
}
if(prior.dist["mu.a_te.prior"] %in% c("hyper")) {
if(length(prior.list$mu.a_te.prior[-1]) != 4) { stop(stop_dist_val)}
mu.a_te.prior <- as.numeric(prior.list$mu.a_te.prior[-1])
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a_te.prior"]), "(", mu.a_te.prior[1], ", ", mu.a_te.prior[2], ", ", mu.a_te.prior[3], ", ", mu.a_te.prior[4], ")", sep = "")
}
model_string_jags <- gsub(paste(mu_a_hat_text, "dnorm(0, 0.001)", sep = ""), prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(!is.null(prior.list$s.a_te.prior) & grepl(s_a_hat_text, model_string_jags, fixed = TRUE)) {
if(prior.dist["s.a_te.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$s.a_te.prior[-1]) != 1) { stop(stop_dist_val)}
s.a_te.prior <- as.numeric(prior.list$s.a_te.prior[-1])
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a_te.prior"]), "(", s.a_te.prior, ")", sep = "")
}
if(prior.dist["s.a_te.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$s.a_te.prior[-1]) != 2) { stop(stop_dist_val)}
s.a_te.prior <- as.numeric(prior.list$s.a_te.prior[-1])
if(prior.dist.d["s.a_te.prior"] == "dhalf-norm") {
prior.dist.d["s.a_te.prior"] <- "dnorm"
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a_te.prior"]), "(", s.a_te.prior[1], ", ", s.a_te.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["s.a_te.prior"] == "dhalf-cauchy") {
prior.dist.d["s.a_te.prior"] <- "dt"
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a_te.prior"]), "(", s.a_te.prior[1], ", ", s.a_te.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["s.a_te.prior"] == "dcauchy") {
prior.dist.d["s.a_te.prior"] <- "dt"
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a_te.prior"]), "(", s.a_te.prior[1], ", ", s.a_te.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a_te.prior"]), "(", s.a_te.prior[1], ", ", s.a_te.prior[2], ")", sep = "")
}
if(prior.dist["s.a_te.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$s.a_te.prior[-1]) != 3) { stop(stop_dist_val)}
s.a_te.prior <- as.numeric(prior.list$s.a_te.prior[-1])
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a_te.prior"]), "(", s.a_te.prior[1], ", ", s.a_te.prior[2], ", ", s.a_te.prior[3], ")", sep = "")
}
if(prior.dist["s.a_te.prior"] %in% c("hyper")) {
if(length(prior.list$s.a_te.prior[-1]) != 4) { stop(stop_dist_val)}
s.a_te.prior <- as.numeric(prior.list$s.a_te.prior[-1])
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a_te.prior"]), "(", s.a_te.prior[1], ", ", s.a_te.prior[2], ", ", s.a_te.prior[3], ", ", s.a_te.prior[4], ")", sep = "")
}
model_string_jags <- gsub(paste(s_a_hat_text, "dunif(0, 100)", sep = ""), prior_deltae_str, model_string_jags, fixed = TRUE)
}
mu_a_hat_text <- paste("mu_a_tc_hat[time] ~ ")
s_a_hat_text <- paste("s_a_tc_hat[time] ~ ")
if(!is.null(prior.list$mu.a_tc.prior) & grepl(mu_a_hat_text, model_string_jags, fixed = TRUE)) {
if(prior.dist["mu.a_tc.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$mu.a_tc.prior[-1]) != 1) { stop(stop_dist_val)}
mu.a_tc.prior <- as.numeric(prior.list$mu.a_tc.prior[-1])
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a_tc.prior"]), "(", mu.a_tc.prior, ")", sep = "")
}
if(prior.dist["mu.a_tc.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$mu.a_tc.prior[-1]) != 2) { stop(stop_dist_val)}
mu.a_tc.prior <- as.numeric(prior.list$mu.a_tc.prior[-1])
if(prior.dist.d["mu.a_tc.prior"] == "dhalf-norm") {
prior.dist.d["mu.a_tc.prior"] <- "dnorm"
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a_tc.prior"]), "(", mu.a_tc.prior[1], ", ", mu.a_tc.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.a_tc.prior"] == "dhalf-cauchy") {
prior.dist.d["mu.a_tc.prior"] <- "dt"
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a_tc.prior"]), "(", mu.a_tc.prior[1], ", ", mu.a_tc.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.a_tc.prior"] == "dcauchy") {
prior.dist.d["mu.a_tc.prior"] <- "dt"
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a_tc.prior"]), "(", mu.a_tc.prior[1], ", ", mu.a_tc.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a_tc.prior"]), "(", mu.a_tc.prior[1], ", ", mu.a_tc.prior[2], ")", sep = "")
}
if(prior.dist["mu.a_tc.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$mu.a_tc.prior[-1]) != 3) { stop(stop_dist_val)}
mu.a_tc.prior <- as.numeric(prior.list$mu.a_tc.prior[-1])
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a_tc.prior"]), "(", mu.a_tc.prior[1], ", ", mu.a_tc.prior[2], ", ", mu.a_tc.prior[3], ")", sep = "")
}
if(prior.dist["mu.a_tc.prior"] %in% c("hyper")) {
if(length(prior.list$mu.a_tc.prior[-1]) != 4) { stop(stop_dist_val)}
mu.a_tc.prior <- as.numeric(prior.list$mu.a_tc.prior[-1])
prior_deltae_str <- paste(mu_a_hat_text, paste(prior.dist.d["mu.a_tc.prior"]), "(", mu.a_tc.prior[1], ", ", mu.a_tc.prior[2], ", ", mu.a_tc.prior[3], ", ", mu.a_tc.prior[4], ")", sep = "")
}
model_string_jags <- gsub(paste(mu_a_hat_text, "dnorm(0, 0.001)", sep = ""), prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(!is.null(prior.list$s.a_tc.prior) & grepl(s_a_hat_text, model_string_jags, fixed = TRUE)) {
if(prior.dist["s.a_tc.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$s.a_tc.prior[-1]) != 1) { stop(stop_dist_val)}
s.a_tc.prior <- as.numeric(prior.list$s.a_tc.prior[-1])
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a_tc.prior"]), "(", s.a_tc.prior, ")", sep = "")
}
if(prior.dist["s.a_tc.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$s.a_tc.prior[-1]) != 2) { stop(stop_dist_val)}
s.a_tc.prior <- as.numeric(prior.list$s.a_tc.prior[-1])
if(prior.dist.d["s.a_tc.prior"] == "dhalf-norm") {
prior.dist.d["s.a_tc.prior"] <- "dnorm"
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a_tc.prior"]), "(", s.a_tc.prior[1], ", ", s.a_tc.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["s.a_tc.prior"] == "dhalf-cauchy") {
prior.dist.d["s.a_tc.prior"] <- "dt"
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a_tc.prior"]), "(", s.a_tc.prior[1], ", ", s.a_tc.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["s.a_tc.prior"] == "dcauchy") {
prior.dist.d["s.a_tc.prior"] <- "dt"
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a_tc.prior"]), "(", s.a_tc.prior[1], ", ", s.a_tc.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a_tc.prior"]), "(", s.a_tc.prior[1], ", ", s.a_tc.prior[2], ")", sep = "")
}
if(prior.dist["s.a_tc.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$s.a_tc.prior[-1]) != 3) { stop(stop_dist_val)}
s.a_tc.prior <- as.numeric(prior.list$s.a_tc.prior[-1])
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a_tc.prior"]), "(", s.a_tc.prior[1], ", ", s.a_tc.prior[2], ", ", s.a_tc.prior[3], ")", sep = "")
}
if(prior.dist["s.a_tc.prior"] %in% c("hyper")) {
if(length(prior.list$s.a_tc.prior[-1]) != 4) { stop(stop_dist_val)}
s.a_tc.prior <- as.numeric(prior.list$s.a_tc.prior[-1])
prior_deltae_str <- paste(s_a_hat_text, paste(prior.dist.d["s.a_tc.prior"]), "(", s.a_tc.prior[1], ", ", s.a_tc.prior[2], ", ", s.a_tc.prior[3], ", ", s.a_tc.prior[4], ")", sep = "")
}
model_string_jags <- gsub(paste(s_a_hat_text, "dunif(0, 100)", sep = ""), prior_deltae_str, model_string_jags, fixed = TRUE)
}
}
if(!is.null(prior.list$beta_te.prior) & grepl("beta_te[time] ~ ", model_string_jags, fixed = TRUE)) {
if(prior.dist["beta_te.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$beta_te.prior[-1]) != 1) { stop(stop_dist_val)}
beta_te.prior <- as.numeric(prior.list$beta_te.prior[-1])
prior_deltae_str <- paste("beta_te[time] ~ ", paste(prior.dist.d["beta_te.prior"]), "(", beta_te.prior, ")", sep = "")
}
if(prior.dist["beta_te.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$beta_te.prior[-1]) != 2) { stop(stop_dist_val)}
beta_te.prior <- as.numeric(prior.list$beta_te.prior[-1])
if(prior.dist.d["beta_te.prior"] == "dhalf-norm") {
prior.dist.d["beta_te.prior"] <- "dnorm"
prior_deltae_str <- paste("beta_te[time] ~ ", paste(prior.dist.d["beta_te.prior"]), "(", beta_te.prior[1], ", ", beta_te.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["beta_te.prior"] == "dhalf-cauchy") {
prior.dist.d["beta_te.prior"] <- "dt"
prior_deltae_str <- paste("beta_te[time] ~ ", paste(prior.dist.d["beta_te.prior"]), "(", beta_te.prior[1], ", ", beta_te.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["beta_te.prior"] == "dcauchy") {
prior.dist.d["beta_te.prior"] <- "dt"
prior_deltae_str <- paste("beta_te[time] ~ ", paste(prior.dist.d["beta_te.prior"]), "(", beta_te.prior[1], ", ", beta_te.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste("beta_te[time] ~ ", paste(prior.dist.d["beta_te.prior"]), "(", beta_te.prior[1], ", ", beta_te.prior[2], ")", sep = "")
}
if(prior.dist["beta_te.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$beta_te.prior[-1]) != 3) { stop(stop_dist_val)}
beta_te.prior <- as.numeric(prior.list$beta_te.prior[-1])
prior_deltae_str <- paste("beta_te[time] ~ ", paste(prior.dist.d["beta_te.prior"]), "(", beta_te.prior[1], ", ", beta_te.prior[2], ", ", beta_te.prior[3], ")", sep = "")
}
if(prior.dist["beta_te.prior"] %in% c("hyper")) {
if(length(prior.list$beta_te.prior[-1]) != 4) { stop(stop_dist_val)}
beta_te.prior <- as.numeric(prior.list$beta_te.prior[-1])
prior_deltae_str <- paste("beta_te[time] ~ ", paste(prior.dist.d["beta_te.prior"]), "(", beta_te.prior[1], ", ", beta_te.prior[2], ", ", beta_te.prior[3], ", ", beta_te.prior[4], ")", sep = "")
}
model_string_jags <- gsub("beta_te[time] ~ dnorm(0, 0.0000001)", prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(!is.null(prior.list$beta_tc.prior) & grepl("beta_tc[time] ~ ", model_string_jags, fixed = TRUE)) {
if(prior.dist["beta_tc.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$beta_tc.prior[-1]) != 1) { stop(stop_dist_val)}
beta_tc.prior <- as.numeric(prior.list$beta_tc.prior[-1])
prior_deltae_str <- paste("beta_tc[time] ~ ", paste(prior.dist.d["beta_tc.prior"]), "(", beta_tc.prior, ")", sep = "")
}
if(prior.dist["beta_tc.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$beta_tc.prior[-1]) != 2) { stop(stop_dist_val)}
beta_tc.prior <- as.numeric(prior.list$beta_tc.prior[-1])
if(prior.dist.d["beta_tc.prior"] == "dhalf-norm") {
prior.dist.d["beta_tc.prior"] <- "dnorm"
prior_deltae_str <- paste("beta_tc[time] ~ ", paste(prior.dist.d["beta_tc.prior"]), "(", beta_tc.prior[1], ", ", beta_tc.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["beta_tc.prior"] == "dhalf-cauchy") {
prior.dist.d["beta_tc.prior"] <- "dt"
prior_deltae_str <- paste("beta_tc[time] ~ ", paste(prior.dist.d["beta_tc.prior"]), "(", beta_tc.prior[1], ", ", beta_tc.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["beta_tc.prior"] == "dcauchy") {
prior.dist.d["beta_tc.prior"] <- "dt"
prior_deltae_str <- paste("beta_tc[time] ~ ", paste(prior.dist.d["beta_tc.prior"]), "(", beta_tc.prior[1], ", ", beta_tc.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste("beta_tc[time] ~ ", paste(prior.dist.d["beta_tc.prior"]), "(", beta_tc.prior[1], ", ", beta_tc.prior[2], ")", sep = "")
}
if(prior.dist["beta_tc.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$beta_tc.prior[-1]) != 3) { stop(stop_dist_val)}
beta_tc.prior <- as.numeric(prior.list$beta_tc.prior[-1])
prior_deltae_str <- paste("beta_tc[time] ~ ", paste(prior.dist.d["beta_tc.prior"]), "(", beta_tc.prior[1], ", ", beta_tc.prior[2], ", ", beta_tc.prior[3], ")", sep = "")
}
if(prior.dist["beta_tc.prior"] %in% c("hyper")) {
if(length(prior.list$beta_tc.prior[-1]) != 4) { stop(stop_dist_val)}
beta_tc.prior <- as.numeric(prior.list$beta_tc.prior[-1])
prior_deltae_str <- paste("beta_tc[time] ~ ", paste(prior.dist.d["beta_tc.prior"]), "(", beta_tc.prior[1], ", ", beta_tc.prior[2], ", ", beta_tc.prior[3], ", ", beta_tc.prior[4], ")", sep = "")
}
model_string_jags <- gsub("beta_tc[time] ~ dnorm(0, 0.0000001)", prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(length(model_txt_info$model_c_random) != 0) {
mu_b_hat_text <- paste("mu_b_te_hat[time] ~ ")
s_b_hat_text <- paste("s_b_te_hat[time] ~ ")
if(!is.null(prior.list$mu.b_te.prior) & grepl(mu_b_hat_text, model_string_jags, fixed = TRUE)) {
if(prior.dist["mu.b_te.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$mu.b_te.prior[-1]) != 1) { stop(stop_dist_val)}
mu.b_te.prior <- as.numeric(prior.list$mu.b_te.prior[-1])
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b_te.prior"]), "(", mu.b_te.prior, ")", sep = "")
}
if(prior.dist["mu.b_te.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$mu.b_te.prior[-1]) != 2) { stop(stop_dist_val)}
mu.b_te.prior <- as.numeric(prior.list$mu.b_te.prior[-1])
if(prior.dist.d["mu.b_te.prior"] == "dhalf-norm") {
prior.dist.d["mu.b_te.prior"] <- "dnorm"
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b_te.prior"]), "(", mu.b_te.prior[1], ", ", mu.b_te.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.b_te.prior"] == "dhalf-cauchy") {
prior.dist.d["mu.b_te.prior"] <- "dt"
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b_te.prior"]), "(", mu.b_te.prior[1], ", ", mu.b_te.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.b_te.prior"] == "dcauchy") {
prior.dist.d["mu.b_te.prior"] <- "dt"
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b_te.prior"]), "(", mu.b_te.prior[1], ", ", mu.b_te.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b_te.prior"]), "(", mu.b_te.prior[1], ", ", mu.b_te.prior[2], ")", sep = "")
}
if(prior.dist["mu.b_te.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$mu.b_te.prior[-1]) != 3) { stop(stop_dist_val)}
mu.b_te.prior <- as.numeric(prior.list$mu.b_te.prior[-1])
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b_te.prior"]), "(", mu.b_te.prior[1], ", ", mu.b_te.prior[2], ", ", mu.b_te.prior[3], ")", sep = "")
}
if(prior.dist["mu.b_te.prior"] %in% c("hyper")) {
if(length(prior.list$mu.b_te.prior[-1]) != 4) { stop(stop_dist_val)}
mu.b_te.prior <- as.numeric(prior.list$mu.b_te.prior[-1])
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b_te.prior"]), "(", mu.b_te.prior[1], ", ", mu.b_te.prior[2], ", ", mu.b_te.prior[3], ", ", mu.b_te.prior[4], ")", sep = "")
}
model_string_jags <- gsub(paste(mu_b_hat_text, "dnorm(0, 0.001)", sep = ""), prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(!is.null(prior.list$s.b_te.prior) & grepl(s_b_hat_text, model_string_jags, fixed = TRUE)) {
if(prior.dist["s.b_te.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$s.b_te.prior[-1]) != 1) { stop(stop_dist_val)}
s.b_te.prior <- as.numeric(prior.list$s.b_te.prior[-1])
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b_te.prior"]), "(", s.b_te.prior, ")", sep = "")
}
if(prior.dist["s.b_te.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$s.b_te.prior[-1]) != 2) { stop(stop_dist_val)}
s.b_te.prior <- as.numeric(prior.list$s.b_te.prior[-1])
if(prior.dist.d["s.b_te.prior"] == "dhalf-norm") {
prior.dist.d["s.b_te.prior"] <- "dnorm"
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b_te.prior"]), "(", s.b_te.prior[1], ", ", s.b_te.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["s.b_te.prior"] == "dhalf-cauchy") {
prior.dist.d["s.b_te.prior"] <- "dt"
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b_te.prior"]), "(", s.b_te.prior[1], ", ", s.b_te.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["s.b_te.prior"] == "dcauchy") {
prior.dist.d["s.b_te.prior"] <- "dt"
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b_te.prior"]), "(", s.b_te.prior[1], ", ", s.b_te.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b_te.prior"]), "(", s.b_te.prior[1], ", ", s.b_te.prior[2], ")", sep = "")
}
if(prior.dist["s.b_te.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$s.b_te.prior[-1]) != 3) { stop(stop_dist_val)}
s.b_te.prior <- as.numeric(prior.list$s.b_te.prior[-1])
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b_te.prior"]), "(", s.b_te.prior[1], ", ", s.b_te.prior[2], ", ", s.b_te.prior[3], ")", sep = "")
}
if(prior.dist["s.b_te.prior"] %in% c("hyper")) {
if(length(prior.list$s.b_te.prior[-1]) != 4) { stop(stop_dist_val)}
s.b_te.prior <- as.numeric(prior.list$s.b_te.prior[-1])
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b_te.prior"]), "(", s.b_te.prior[1], ", ", s.b_te.prior[2], ", ", s.b_te.prior[3], ", ", s.b_te.prior[4], ")", sep = "")
}
model_string_jags <- gsub(paste(s_b_hat_text, "dunif(0, 100)", sep = ""), prior_deltae_str, model_string_jags, fixed = TRUE)
}
mu_b_hat_text <- paste("mu_b_tc_hat[time] ~ ")
s_b_hat_text <- paste("s_b_tc_hat[time] ~ ")
if(!is.null(prior.list$mu.b_tc.prior) & grepl(mu_b_hat_text, model_string_jags, fixed = TRUE)) {
if(prior.dist["mu.b_tc.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$mu.b_tc.prior[-1]) != 1) { stop(stop_dist_val)}
mu.b_tc.prior <- as.numeric(prior.list$mu.b_tc.prior[-1])
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b_tc.prior"]), "(", mu.b_tc.prior, ")", sep = "")
}
if(prior.dist["mu.b_tc.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$mu.b_tc.prior[-1]) != 2) { stop(stop_dist_val)}
mu.b_tc.prior <- as.numeric(prior.list$mu.b_tc.prior[-1])
if(prior.dist.d["mu.b_tc.prior"] == "dhalf-norm") {
prior.dist.d["mu.b_tc.prior"] <- "dnorm"
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b_tc.prior"]), "(", mu.b_tc.prior[1], ", ", mu.b_tc.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.b_tc.prior"] == "dhalf-cauchy") {
prior.dist.d["mu.b_tc.prior"] <- "dt"
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b_tc.prior"]), "(", mu.b_tc.prior[1], ", ", mu.b_tc.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["mu.b_tc.prior"] == "dcauchy") {
prior.dist.d["mu.b_tc.prior"] <- "dt"
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b_tc.prior"]), "(", mu.b_tc.prior[1], ", ", mu.b_tc.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b_tc.prior"]), "(", mu.b_tc.prior[1], ", ", mu.b_tc.prior[2], ")", sep = "")
}
if(prior.dist["mu.b_tc.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$mu.b_tc.prior[-1]) != 3) { stop(stop_dist_val)}
mu.b_tc.prior <- as.numeric(prior.list$mu.b_tc.prior[-1])
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b_tc.prior"]), "(", mu.b_tc.prior[1], ", ", mu.b_tc.prior[2], ", ", mu.b_tc.prior[3], ")", sep = "")
}
if(prior.dist["mu.b_tc.prior"] %in% c("hyper")) {
if(length(prior.list$mu.b_tc.prior[-1]) != 4) { stop(stop_dist_val)}
mu.b_tc.prior <- as.numeric(prior.list$mu.b_tc.prior[-1])
prior_deltae_str <- paste(mu_b_hat_text, paste(prior.dist.d["mu.b_tc.prior"]), "(", mu.b_tc.prior[1], ", ", mu.b_tc.prior[2], ", ", mu.b_tc.prior[3], ", ", mu.b_tc.prior[4], ")", sep = "")
}
model_string_jags <- gsub(paste(mu_b_hat_text, "dnorm(0, 0.001)", sep = ""), prior_deltae_str, model_string_jags, fixed = TRUE)
}
if(!is.null(prior.list$s.b_tc.prior) & grepl(s_b_hat_text, model_string_jags, fixed = TRUE)) {
if(prior.dist["s.b_tc.prior"] %in% c("chisqr", "exp", "bern", "cat", "pois")) {
if(length(prior.list$s.b_tc.prior[-1]) != 1) { stop(stop_dist_val)}
s.b_tc.prior <- as.numeric(prior.list$s.b_tc.prior[-1])
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b_tc.prior"]), "(", s.b_tc.prior, ")", sep = "")
}
if(prior.dist["s.b_tc.prior"] %in% c("norm", "beta", "bin", "f", "gamma", "dexp", "unif", "logis", "lnorm",
"negbin", "nchisqr", "par", "weib", "cauchy", "half-norm", "half-cauchy")) {
if(length(prior.list$s.b_tc.prior[-1]) != 2) { stop(stop_dist_val)}
s.b_tc.prior <- as.numeric(prior.list$s.b_tc.prior[-1])
if(prior.dist.d["s.b_tc.prior"] == "dhalf-norm") {
prior.dist.d["s.b_tc.prior"] <- "dnorm"
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b_tc.prior"]), "(", s.b_tc.prior[1], ", ", s.b_tc.prior[2], ")", "T(0, )", sep = "")}
if(prior.dist.d["s.b_tc.prior"] == "dhalf-cauchy") {
prior.dist.d["s.b_tc.prior"] <- "dt"
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b_tc.prior"]), "(", s.b_tc.prior[1], ", ", s.b_tc.prior[2], ", 1", ")", "T(0, )", sep = "")}
if(prior.dist.d["s.b_tc.prior"] == "dcauchy") {
prior.dist.d["s.b_tc.prior"] <- "dt"
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b_tc.prior"]), "(", s.b_tc.prior[1], ", ", s.b_tc.prior[2], ", 1", ")", sep = "")}
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b_tc.prior"]), "(", s.b_tc.prior[1], ", ", s.b_tc.prior[2], ")", sep = "")
}
if(prior.dist["s.b_tc.prior"] %in% c("gen.gamma", "nt", "t")) {
if(length(prior.list$s.b_tc.prior[-1]) != 3) { stop(stop_dist_val)}
s.b_tc.prior <- as.numeric(prior.list$s.b_tc.prior[-1])
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b_tc.prior"]), "(", s.b_tc.prior[1], ", ", s.b_tc.prior[2], ", ", s.b_tc.prior[3], ")", sep = "")
}
if(prior.dist["s.b_tc.prior"] %in% c("hyper")) {
if(length(prior.list$s.b_tc.prior[-1]) != 4) { stop(stop_dist_val)}
s.b_tc.prior <- as.numeric(prior.list$s.b_tc.prior[-1])
prior_deltae_str <- paste(s_b_hat_text, paste(prior.dist.d["s.b_tc.prior"]), "(", s.b_tc.prior[1], ", ", s.b_tc.prior[2], ", ", s.b_tc.prior[3], ", ", s.b_tc.prior[4], ")", sep = "")
}
model_string_jags <- gsub(paste(s_b_hat_text, "dunif(0, 100)", sep = ""), prior_deltae_str, model_string_jags, fixed = TRUE)
}
}
}
model_string_prior <- model_string_jags
return(model_string_prior)
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.