Description Usage Arguments Details Value Warning Note Author(s) See Also Examples

View source: R/contsDistQlinks.R

Computes the `toppleQlink`

transformation, its inverse and the
first two derivatives.

1 2 3 |

`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

*
[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.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | ```
## 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"))
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.