View source: R/normal1sdQlink.R

normal1sdQlink | R Documentation |

Computes the `normal1sdQlink`

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

```
normal1sdQlink(theta, mean = stop("Please, enter the fixed 'mean'."),
p = stop(" Please, enter argument 'p'."),
bvalue = NULL, inverse = FALSE, deriv = 0,
short = TRUE, tag = FALSE)
```

`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

```
{\tt{mean}} + \sqrt{2}\sigma \cdot
{\tt{erf^{-1}}}(2 {\tt{p}} - 1).
```

Here, `{\tt{erf^{-1}}}`

denotes the inverse
of the error function `erf`

, and
`\sigma`

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 `\eta`

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

`normal1sd`

,
`erf`

,
`Links`

.

```
### 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.