R: Log Link Function, and Variants

loglink {VGAM} | R Documentation

## Log Link Function, and Variants

### Description

Computes the log transformation, including its inverse and the first two derivatives.

### Usage

    loglink(theta, bvalue = NULL, inverse = FALSE, deriv = 0,
            short = TRUE, tag = FALSE)
    negloglink(theta, bvalue = NULL, inverse = FALSE, deriv = 0,
               short = TRUE, tag = FALSE)
    logneglink(theta, bvalue = NULL, inverse = FALSE, deriv = 0,
               short = TRUE, tag = FALSE)

### Arguments

`theta` | Numeric or character. See below for further details.
`bvalue` | See `Links`.
`inverse, deriv, short, tag` | Details at `Links`.

### Details

The log link function is very commonly used for parameters that are positive. Here, all logarithms are natural logarithms, i.e., to base e. Numerical values of `theta` close to 0 or out of range result in `Inf`, `-Inf`, `NA` or `NaN`.

The function `loglink` computes log(theta) whereas `negloglink` computes -log(theta)=log(1/theta).

The function `logneglink` computes log(-theta), hence is suitable for parameters that are negative, e.g., a trap-shy effect in `posbernoulli.b`.

### Value

The following concerns `loglink`. For `deriv = 0`, the log of `theta`, i.e., `log(theta)` when `inverse = FALSE`, and if `inverse = TRUE` then `exp(theta)`. For `deriv = 1`, then the function returns d `eta` / d `theta` as a function of `theta` if `inverse = FALSE`, else if `inverse = TRUE` then it returns the reciprocal.

### Note

This function was called `loge` to avoid conflict with the `log` function. Numerical instability may occur when `theta` is close to 0 unless `bvalue` is used.

### Author(s)

Thomas W. Yee

### References

McCullagh, P. and Nelder, J. A. (1989). Generalized Linear Models, 2nd ed. London: Chapman & Hall.

### See Also

`Links`, `explink`, `logitlink`, `logclink`, `logloglink`, `log`, `logofflink`, `lambertW`, `posbernoulli.b`.

### Examples

    ## Not run:  loglink(seq(-0.2, 0.5, by = 0.1))
     loglink(seq(-0.2, 0.5, by = 0.1), bvalue = .Machine$double.xmin)
    negloglink(seq(-0.2, 0.5, by = 0.1))
    negloglink(seq(-0.2, 0.5, by = 0.1), bvalue = .Machine$double.xmin)
    ## End(Not run)
    logneglink(seq(-0.5, -0.2, by = 0.1))

[Package VGAM version 1.1-3 Index]