R/cop-bb8_supp.R

Defines functions qcondbb8v pcondbb8v rbb8v logdbb8v dbb8v pbb8v qcondbb8u pcondbb8u rbb8u logdbb8u dbb8u pbb8u qcondbb8r pcondbb8r rbb8r logdbb8r dbb8r pbb8r logdbb8

Documented in dbb8r dbb8u dbb8v logdbb8 logdbb8r logdbb8u logdbb8v pbb8r pbb8u pbb8v pcondbb8r pcondbb8u pcondbb8v qcondbb8r qcondbb8u qcondbb8v rbb8r rbb8u rbb8v

## ----- Original ------

#' BB8 copula: supplemental functions
#'
#' Appended "u" means a horizontal flip (i.e. switching u to 1-u).
#' Appended "v" means a vertical flip (i.e. switching v to 1-v).
#' Appended "r" means reflection/survival copula
#'
#' @rdname bb8_supp
#' @export
logdbb8 <- function(u, v, cpar) log(CopulaModel::dbb8(u, v, cpar))

## ----- Reflected -----

#' @rdname bb8_supp
#' @export
pbb8r <- function(u, v, cpar) u + v - 1 + CopulaModel::pbb8(1-u, 1-v, cpar)

## Density

#' @rdname bb8_supp
#' @export
dbb8r <- function(u, v, cpar) CopulaModel::dbb8(1-u, 1-v, cpar)
#' @rdname bb8_supp
#' @export
logdbb8r <- function(u, v, cpar) logdbb8(1-u, 1-v, cpar)

## Random number generator

#' @rdname bb8_supp
#' @export
rbb8r <- function(n, cpar) 1 - CopulaModel::rbb8(n, cpar)

## Conditional distribution

#' @rdname bb8_supp
#' @export
pcondbb8r <- function(v, u, cpar) 1 - CopulaModel::pcondbb8(1-v, 1-u, cpar)
#' @rdname bb8_supp
#' @export
qcondbb8r <- function(p, u, cpar) 1 - CopulaModel::qcondbb8(1-p, 1-u, cpar)

## ----- U-Flipped / V-axis reflection / Horizontal reflection -----

## Distribution

#' @rdname bb8_supp
#' @export
pbb8u <- function(u, v, cpar) v - CopulaModel::pbb8(1-u, v, cpar)

## Density

#' @rdname bb8_supp
#' @export
dbb8u <- function(u, v, cpar) CopulaModel::dbb8(1-u, v, cpar)
#' @rdname bb8_supp
#' @export
logdbb8u <- function(u, v, cpar) logdbb8(1-u, v, cpar)

## Random number generator

#' @rdname bb8_supp
#' @export
rbb8u <- function(n, cpar) {
    res <- CopulaModel::rbb8(n, cpar)
    res[, 1] <- 1 - res[, 1]
    res
}

## Conditional distribution

#' @rdname bb8_supp
#' @export
pcondbb8u <- function(v, u, cpar) CopulaModel::pcondbb8(v, 1-u, cpar)
#' @rdname bb8_supp
#' @export
qcondbb8u <- function(p, u, cpar) CopulaModel::qcondbb8(p, 1-u, cpar)

## ----- V-Flipped / U-axis reflection / Vertical reflection -----

## Distribution

#' @rdname bb8_supp
#' @export
pbb8v <- function(u, v, cpar) u - CopulaModel::pbb8(u, 1-v, cpar)

## Density

#' @rdname bb8_supp
#' @export
dbb8v <- function(u, v, cpar) CopulaModel::dbb8(u, 1-v, cpar)
#' @rdname bb8_supp
#' @export
logdbb8v <- function(u, v, cpar) logdbb8(u, 1-v, cpar)

## Random number generator

#' @rdname bb8_supp
#' @export
rbb8v <- function(n, cpar) {
    res <- CopulaModel::rbb8(n, cpar)
    res[, 2] <- 1 - res[, 2]
    res
}

## Conditional distribution

#' @rdname bb8_supp
#' @export
pcondbb8v <- function(v, u, cpar) 1 - CopulaModel::pcondbb8(1-v, u, cpar)
#' @rdname bb8_supp
#' @export
qcondbb8v <- function(p, u, cpar) 1 - CopulaModel::qcondbb8(1-p, u, cpar)
vincenzocoia/copsupp documentation built on Aug. 23, 2020, 7:37 a.m.