reciprocal {VGAM} | R Documentation

## Reciprocal link function

### Description

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

### Usage

    reciprocal(theta, earg = list(), inverse.arg = FALSE, deriv = 0,
            short = TRUE, tag = FALSE)
    nreciprocal(theta, earg = list(), inverse.arg = FALSE, deriv = 0,
            short = TRUE, tag = FALSE)

### Arguments

`theta` | Numeric or character. See below for further details.
`earg` | Optional list. Extra argument for passing in additional information. Values of `theta` which are equal to 0 can be replaced by the `bvalue` component of the list `earg` before computing the link function value. The component name `bvalue` stands for ``boundary value''. See `Links` for general information about `earg`.
`inverse.arg` | Logical. If `TRUE` the inverse function is computed
`deriv` | Order of the derivative. Integer with value 0, 1 or 2.
`short` | Used for labelling the `blurb` slot of a `vglmff-class` object.
`tag` | Used for labelling the linear/additive predictor in the `initialize` slot of a `vglmff-class` object. Contains a little more information if `TRUE`.

### Details

The `reciprocal` link function is a special case of the power link function. Numerical values of `theta` close to 0 result in `Inf`, `-Inf`, `NA` or `NaN`. The arguments `short` and `tag` are used only if `theta` is character.

The `nreciprocal` link function computes the negative reciprocal, i.e., -1/theta.

### Value

For `reciprocal`: for `deriv = 0`, the reciprocal of `theta`, i.e., `1/theta` when `inverse = FALSE`, and if `inverse = TRUE` then `1/theta`. For `deriv = 1`, then the function returns d `theta` / d `eta` as a function of `theta` if `inverse = FALSE`, else if `inverse = TRUE` then it returns the reciprocal.

### Note

Numerical instability may occur when `theta` is close to 0.

### Author(s)

Thomas W. Yee

### References

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

### See Also

`identity`, `powl`.

### Examples

    reciprocal(1:5)
    reciprocal(1:5, inverse=TRUE, deriv=2)
    nreciprocal(1:5)
    nreciprocal(1:5, inverse=TRUE, deriv=2)

    x = (-3):3
    reciprocal(x)  # Has Inf
    reciprocal(x, earg=list(bvalue= .Machine$double.eps))  # Has no Inf

[Package VGAM version 0.7-9 Index]