Learn R Programming

VGAM (version 0.8-1)

powl: Power Link Function

Description

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

Usage

powl(theta, earg = list(power=1), inverse = FALSE, deriv = 0,
      short = TRUE, tag = FALSE)

Arguments

theta
Numeric or character. See below for further details.
earg
List. Extra argument for passing in additional information. Here, the component name power denotes the power or exponent. This component name should not be abbreviated.
inverse
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.

Value

  • For powl with deriv = 0, then theta raised to the power of power. And if inverse = TRUE then theta raised to the power of 1/power.

    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.

Details

The power link function raises a parameter by a certain value of power. Care is needed because it is very easy to get numerical problems, e.g., if power=0.5 and theta is negative.

The arguments short and tag are used only if theta is character.

See Also

Links, loge.

Examples

Run this code
powl("a", earg=list(power=2), short=FALSE, tag=TRUE)

powl(x <- 1:5)
powl(x, earg=list(power=2))

earg=list(power=2)
max(abs(powl(powl(x, earg=earg), earg=earg, inverse=TRUE) - x)) # Should be 0

powl(x <- (-5):5, earg=list(power=0.5))  # Has NAs

# 1/2 = 0.5
pdat = data.frame(y = rbeta(n=1000, shape1=2^2, shape2=3^2))
fit = vglm(y ~ 1, beta.ab(lshape1="powl", lshape2="powl",
                          eshape1=list(power=0.5), i1=3,
                          eshape2=list(power=0.5), i2=7), pdat)
t(coef(fit, matrix=TRUE))
Coef(fit)  # Useful for intercept-only models
vcov(fit, untrans=TRUE)

Run the code above in your browser using DataLab