| gamma1Qlink | R Documentation |
Computes the gamma1Qlink transformation, its inverse and the
first two derivatives.
gamma1Qlink(theta, p = stop("Argument 'p' must be specified."),
bvalue = NULL, inverse = FALSE,
deriv = 0, short = TRUE, tag = FALSE)
theta |
Numeric or character. It is |
p |
A numeric vector of |
bvalue, inverse, deriv, short, tag |
See |
This link function has been specifically designed to model any
p–quantile of the 1–parameter gamma distribution,
gamma1, in the VGLM/VGAM context.
It is defined as
\eta = \log {\tt{qgamma}}({\tt{p}}, {\tt{shape =}} s),
where s is a positive shape parameter as in
gamma1, whilst
{\tt{qgamma()}} is the quantile function
qgamma.
The inverse of the gamma1Qlink cannot be expressed in closed
form. Instead, the inverse image, s_{\eta},
of \eta is numerically approximated by
newtonRaphson.basic.
Numerical values of s or p out of range will
result in Inf, -Inf, NA or NaN
correspondingly.
Arguments inverse and deriv are dismissed
if theta is character.
For deriv = 0, the gamma1Qlink transformation of
theta, when inverse = FALSE.
If inverse = TRUE, then
theta becomes \eta, and therefore,
the approximate inverse image of \eta is returned.
For deriv = 1, the partial derivative
d eta / d theta is returned,
if inverse = FALSE. If inverse = TRUE,
then the reciprocal
d theta / d eta as a function of theta.
If deriv = 2, then the second order derivatives as a function
of theta.
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.
V. Miranda and Thomas W. Yee.
gamma1,
qgamma,
Links.
## 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")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.