loge {VGAM} | R Documentation

## Log Link Function, and Variants

### Description

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

### Usage

    loge(theta, bvalue = NULL, inverse = FALSE, deriv = 0,
         short = TRUE, tag = FALSE)
    negloge(theta, bvalue = NULL, inverse = FALSE, deriv = 0,
            short = TRUE, tag = FALSE)
    logneg(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 `loge` computes log(theta) whereas `negloge` computes -log(theta)=log(1/theta).

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

### Value

The following concerns `loge`. 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 is 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`, `logit`, `logc`, `loglog`, `log`, `logoff`, `lambertW`, `posbernoulli.b`.

### Examples

    ## Not run:  loge(seq(-0.2, 0.5, by = 0.1))
     loge(seq(-0.2, 0.5, by = 0.1), bvalue = .Machine$double.xmin)
    negloge(seq(-0.2, 0.5, by = 0.1))
    negloge(seq(-0.2, 0.5, by = 0.1), bvalue = .Machine$double.xmin)
    ## End(Not run)
    logneg(seq(-0.5, -0.2, by = 0.1))

[Package VGAM version 1.0-3 Index]