U-utils function

Zero-mean, unit-variance version of standard distributions

Zero-mean, unit-variance version of standard distributions

Density, distribution function, quantile function and random number generation for the shifted and scaled U of the (location-)scale family input XFX(xβ)X \sim F_X(x \mid \boldsymbol \beta)

  • see References.

Since the normalized random variable U is one of the main building blocks of Lambert W ×\times F distributions, these functions are wrappers used by other functions such as dLambertW or rLambertW.

dU(u, beta, distname, use.mean.variance = TRUE) pU(u, beta, distname, use.mean.variance = TRUE) qU(p, beta, distname, use.mean.variance = TRUE) rU(n, beta, distname, use.mean.variance = TRUE)

Arguments

  • u: vector of quantiles.
  • beta: numeric vector (deprecated); parameter β\boldsymbol \beta of the input distribution. See check_beta on how to specify beta for each distribution.
  • distname: character; name of input distribution; see get_distnames.
  • use.mean.variance: logical; if TRUE it uses mean and variance implied by β\boldsymbol \beta to do the transformation (Goerg 2011). If FALSE, it uses the alternative definition from Goerg (2016) with location and scale parameter.
  • p: vector of probability levels
  • n: number of samples

Returns

dU evaluates the pdf at y, pU evaluates the cdf, qU is the quantile function, and rU generates random samples from U.

Examples

# a zero-mean, unit variance version of the t_3 distribution. curve(dU(x, beta = c(1, 1, 3), distname = "t"), -4, 4, ylab = "pdf", xlab = "u", main = "student-t \n zero-mean, unit variance") # cdf of unit-variance version of an exp(3) -> just an exp(1) curve(pU(x, beta = 3, distname = "exp"), 0, 4, ylab = "cdf", xlab = "u", main = "Exponential \n unit variance", col = 2, lwd = 2) curve(pexp(x, rate = 1), 0, 4, add = TRUE, lty = 2) # all have (empirical) variance 1 var(rU(n = 1000, distname = "chisq", beta = 2)) var(rU(n = 1000, distname = "normal", beta = c(3, 3))) var(rU(n = 1000, distname = "exp", beta = 1)) var(rU(n = 1000, distname = "unif", beta = c(0, 10)))
  • Maintainer: Georg M. Goerg
  • License: GPL (>= 2)
  • Last published: 2023-11-30