R/hdi.R

Defines functions hdi.jagsUI hdi.runjags hdi.rjags hdi.bugs hdi.mcmc hdi.mcmc.list hdi.mcarray hdi.list hdi.data.frame hdi.matrix hdi.default hdi

Documented in hdi hdi.bugs hdi.data.frame hdi.default hdi.jagsUI hdi.list hdi.matrix hdi.mcarray hdi.mcmc hdi.mcmc.list hdi.rjags hdi.runjags

# This file has the S3 generic 'hdi' function and a series of methods.

hdi <- function(object, credMass=0.95, ...) UseMethod("hdi")

hdi.default <- function(object, credMass=0.95, ...) {
  if(!is.numeric(object))
    stop(paste("No applicable method for class", class(object)))
  checkCredMass(credMass)
  result <- hdiVector(object, credMass=credMass)
  # names(result) <- c("lower", "upper")
  attr(result, "credMass") <- credMass
  return(result)
}

hdi.matrix <- function(object, credMass=0.95, ...) {
  checkCredMass(credMass)
  result <- apply(object, 2, hdiVector, credMass=credMass)
  attr(result, "credMass") <- credMass
  return(result)
}

hdi.data.frame <- function(object, credMass=0.95, ...) {
  checkCredMass(credMass)
  result <- sapply(object, hdiVector, credMass = credMass)
  attr(result, "credMass") <- credMass
  return(result)
}

hdi.list <- function(object, credMass=0.95, ...) {
  lapply(object, hdi, credMass = credMass)
}

hdi.mcarray <- function(object, credMass=0.95, ...) {
  checkCredMass(credMass)
  result <- apply(object, 1, hdiVector, credMass = credMass)
  attr(result, "credMass") <- credMass
  return(result)
}

hdi.mcmc.list <- function(object, credMass=0.95, ...)
  hdi.matrix(as.matrix(object), credMass=credMass, ...)

hdi.mcmc <- function(object, credMass=0.95, ...)
  hdi.matrix(as.matrix(object), credMass=credMass, ...)

hdi.bugs <- function(object, credMass=0.95, ...)
  hdi(object$sims.matrix, credMass=credMass, ...)

hdi.rjags <- function(object, credMass=0.95, ...)
  hdi.matrix(object$BUGSoutput$sims.matrix, credMass=credMass, ...)

hdi.runjags <- function(object, credMass=0.95, ...)
  hdi.mcmc.list(object$mcmc, credMass=credMass, ...)

hdi.jagsUI <- function(object, credMass=0.95, ...)
  hdi.mcmc.list(object$samples, credMass=credMass, ...)

Try the HDInterval package in your browser

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

HDInterval documentation built on Nov. 18, 2022, 1:06 a.m.