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

View source: R/normal1sdQlink.R

Computes the `normal1sdQlink`

transformation for the Univariate
Normal Distribution, its inverse and the first two derivatives.

1 2 3 4 |

`theta` |
Numeric or character.
This is |

`mean` |
A numeric vector or a matrix. It is the (known) fixed mean of the Normal distribution of interest. See below for further details. |

`p` |
Numeric vector of |

`bvalue, inverse, deriv, short, tag` |
Details at |

This link function is necessarily required by
`normal1sd`

if quantile regression
is to be performed. It computes the `normal1sdQlink`

transformation, defined as

*
mean + sqrt(2 σ^2) erf^{-1}(2p - 1).
*

Here, *erf^(-1)* denotes the inverse
of the error function `erf`

, and
*σ* is the standard deviation (`theta`

) as in
`normal1sd`

.
Technically, `normal1sdQlink`

can be used for quantile regression
over any vector of *p*–quantiles of Normally distributed data
with *known* mean.

See `normal1sd`

for further details
about the latter.

Values of *p* out of the open interval *(0, 1)* or non–positive
values of `theta`

will result in `Inf`

, `-Inf`

,
`NA`

or `NaN`

.

When `deriv = 0`

, the `normal1sdQlink`

transformation
of `theta`

, if `inverse = FALSE`

. Conversely, if
`inverse = TRUE`

, `theta`

becomes *η* and
the inverse transformation given by
`(theta - mean)/`

*sqrt(2)*
`erf`

*^(-1)**(2*`p`

* - 1)*
is returned.

For `deriv = 1`

, *d* `eta`

/ *d* `theta`

if `inverse = FALSE`

. Else, this function returns
*d* `theta`

/ *d* `eta`

as a function of `theta`

.

For `deriv = 2`

, the second order derivatives are accordingly
returned.

If `p`

is a vector, then the recycling rule applies *only*
if `theta`

is entered as a matrix. Else, only the first entry in
`p`

is considered.

When `inverse = TRUE`

, the reciprocal of the error function,
`erf`

, evaluated at *2*`p`

*- 1*
is required. However, the result is `Inf`

for `p`

*= 0.5*.
Here, in consequence, the limit of `erf`

when
`p`

tends to *0.5* is returned to avoid numerical issues.

V. Miranda

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ```
### Example 1 ###
theta <- seq(0, 3, by = 0.1)[-1] # This is sigma, then must be positive.
mean <- -2.5 # Intentionally, a negative value for mu.
p <- 0.25 # Modelling the first quartile.
eta <- normal1sdQlink(theta = theta, p = p, mean = mean)
inv.eta <- normal1sdQlink(theta = eta, p = p, mean = mean, inverse = TRUE)
summary(inv.eta - theta) ## Should be 0
### Example 2. Special values of theta, using argument 'bvalue'. ###
theta <- c(-Inf, -5, -2.5, 0, 2.5, 5, Inf, NA, NaN)
my.matrix <- rbind(theta, normal1sdQlink(theta = theta, p = p, mean = mean),
normal1sdQlink(theta = theta, p = p, mean = mean, bvalue = 1e-5))
rownames(my.matrix) <- c("theta", "No 'bvalue'", "With 'bvalue'")
colnames(my.matrix) <- rep("", 9)
my.matrix # Second row has NAs, whilst third row has NO NAs except for theta = NA
``` |

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.