gamma1Qlink {VGAMextra} | R Documentation |
Link functions for the quantiles of several 1–parameter continuous distributions
Description
Computes the gamma1Qlink
transformation, its inverse and the
first two derivatives.
Usage
gamma1Qlink(theta, p = stop("Argument 'p' must be specified."),
bvalue = NULL, inverse = FALSE,
deriv = 0, short = TRUE, tag = FALSE)
Arguments
theta |
Numeric or character. It is |
p |
A numeric vector of |
bvalue , inverse , deriv , short , tag |
See |
Details
This link function has been specifically designed to model any
–quantile of the 1–parameter gamma distribution,
gamma1
, in the VGLM/VGAM context.
It is defined as
where is a positive shape parameter as in
gamma1
, whilst
is the quantile function
qgamma
.
The inverse of the gamma1Qlink
cannot be expressed in closed
form. Instead, the inverse image, ,
of
is numerically approximated by
newtonRaphson.basic
.
Numerical values of or
out of range will
result in
Inf
, -Inf
, NA
or NaN
correspondingly.
Arguments inverse
and deriv
are dismissed
if theta
is character.
Value
For deriv = 0
, the gamma1Qlink
transformation of
theta
, when inverse = FALSE
.
If inverse = TRUE
, then
theta
becomes , and therefore,
the approximate inverse image of
is returned.
For deriv = 1
, the partial derivative
eta
/
theta
is returned,
if inverse = FALSE
. If inverse = TRUE
,
then the reciprocal
theta
/
eta
as a function of theta
.
If deriv = 2
, then the second order derivatives as a function
of theta
.
Note
Numerical instability may occur for values theta
too large, or
too close to 0.0. Use argument bvalue
to replace them before
computing the link.
Author(s)
V. Miranda and Thomas W. Yee.
See Also
Examples
## E1. gamma1QLink() and values causing NaNs or out of range ##
p <- 0.75 # The third quartile is of interest.
my.s <- seq(0, 5, by = 0.1)[-1]
max(my.s - gamma1Qlink(gamma1Qlink(my.s, p = p), p = p, inverse =TRUE)) ## Zero
## E2. Special values of theta ##
gamma1Qlink(theta = c(-0.15, -0.10, 0, 1:10) , p = p, inverse = FALSE) ## NaNs
gamma1Qlink(theta = c(-5, -3, 0, 1:10) , p = p, inverse = TRUE) ## Out of range
## E3. Plot of gamma1QLink() and its inverse. ##
# gamma1Qlink()
plot(gamma1Qlink(theta = my.s, p = p) ~ my.s,
type = "l", col = "blue", lty = "dotted", lwd = 3,
xlim = c(-0.1, 5), ylim = c(-5, 15), las = 1,
main = c("Blue is gamma1Qlink(), green is the inverse"),
ylab = "gamma1Qlink transformation", xlab = "theta")
abline(h = 0, v = 0, lwd = 2)
# The inverse
lines(my.s, gamma1Qlink(theta = my.s, p = p, inverse = TRUE),
col = "green", lwd = 2, lty = "dashed")
# The identity function, for double-checking.
lines(my.s, my.s, lty = "dotted")