R/jagsbasic.R

Defines functions jags.basic

Documented in jags.basic

jags.basic <- function(data, inits=NULL, parameters.to.save, model.file,
                       n.chains, n.adapt=NULL, n.iter, n.burnin=0, n.thin=1,
                       modules=c('glm'), factories=NULL, parallel=FALSE, 
                       n.cores=NULL, DIC=TRUE, seed=NULL, save.model=FALSE, verbose=TRUE){
  
  # Check input data
  inps <- process_input(data, parameters.to.save, inits,
                        n.chains, n.adapt, n.iter, n.burnin, n.thin, n.cores,
                        DIC, !verbose, parallel, seed)
  
  # Run JAGS via rjags
  rjags_out <- run_rjags(inps$data, inps$inits, inps$params, model.file, 
                         inps$mcmc.info, modules, factories, DIC, parallel, !verbose)
  
  # Report time
  if(verbose) cat('MCMC took', rjags_out$elapsed.mins, 'minutes.\n')
 
  # Create output object
  if(save.model){
    samples <- order_samples(rjags_out$samples, inps$params)
    output <- list(samples = samples, model = rjags_out$m)
    output$n.cores <- inps$mcmc.info$n.cores
    class(output) <- 'jagsUIbasic'
  } else{
    output <- rjags_out$samples
  }
 
  return(output)
}
kenkellner/jagsUI documentation built on Feb. 4, 2024, 5:20 a.m.