View source: R/contsDistQlinks.R
| toppleQlink | R Documentation | 
Computes the toppleQlink transformation, its inverse and the
first two derivatives.
  toppleQlink(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 | Numeric. A single value between 0 and 1.
It is the  | 
| bvalue,inverse,deriv,short,tag | See  | 
This link function comforms with requirements of VGAM in order
to be compatible within the VGLM/VGAM framework. That is, monotonic,
onto, among other features.
In this line, the toppleQlink transformation arises as the
proper link to model any quantile of the Topp–Leone distribution
topple. It is defined as
\frac{1 - \sqrt{1 - p^{1/s}}}{m.max}.
Here, s is a shape parameter lying in (0, 1) 
as in topple,
whereas m.max stands for the maximum in (0, 1) of
1 - \sqrt{1 - p^{1/s}}
as a function of s. Note, p is prespecified (fixed) between 
0 and 1. 
Numerical values of s or p out of range will 
result in Inf, -Inf, NA or NaN
correspondingly.
Arguments inverse and deriv will be ignored
if theta is character.
For deriv = 0, the toppleQlink transformation of
theta, when inverse = FALSE. If inverse = TRUE, then
the inverse transformation 
 log(p)/log(1 - (1 - theta * m.max)^2) 
is returned.
For deriv = 1, this function returns 
d eta / d theta, 
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. 
The expression p^{1/s} tends rapidly to zero specially
for values of s less than 0.005. Therefore, in such cases
numerical values represented as zero may be returned when computing
this link function, regardless the value of argument inverse.
Numerical instability may occur for values theta too close
to 0.0 or 1.0. Use argument bvalue to replace them before
computing the link.
V. Miranda and Thomas W. Yee.
topple, 
Links.
  ## E1. toppleQLink() and its inverse. ##
  my.s <- ppoints(50); p <- 0.75
  max(my.s - toppleQlink(toppleQlink(my.s, p = p), p = p, inverse  =TRUE))   ## Zero
  toppleQlink(theta = c(-0.15, -0.10, 0.25, 0.35) , p = p, inverse  = FALSE) ## NaNs
  toppleQlink(theta = c(-0.15, -0.10, 0.25, 0.35) , p = p, inverse  = TRUE)  ## NaNs
   
   
  ## E2. toppleQLink() for different avlues of 'p'. ##
  
  plot(toppleQlink(theta = my.s, p = 0.05) ~ my.s,
       type = "l", col = "blue", lty = "dotted", lwd = 3,
       xlim = c(-0.1, 1.65), ylim = c(-0.1, 1.1), las = 1,
       main = c("The toppleQlink() transformation"),
       ylab = "eta = toppleQlink", xlab = "theta")
  abline(h = 0, v = 0, lwd = 2)
  abline(h = 1, v = 1, lty = "dotted", col = "green")
  lines(toppleQlink(theta = my.s, p = 0.25) ~ my.s, lwd = 2, lty = "dashed", col = "gray")
  lines(toppleQlink(theta = my.s, p = 0.50) ~ my.s, lwd = 2, lty = "dashed", col = "brown")
  lines(toppleQlink(theta = my.s, p = 0.75) ~ my.s, lwd = 2, lty = "dashed", col = "orange")
  lines(toppleQlink(theta = my.s, p = 0.95) ~ my.s, lwd = 2, lty = "dashed", col = "gray50")
  legend(1.1, 1.0, c("p = 0.05", "p = 0.25", "p = 0.50", "p = 0.75", "p = 0.95"),
         lwd = rep(2, 5), lty = rep("dashed", 5), 
         col = c("blue", "gray", "brown", "orange", "gray50"))
  
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.