| fisherz {VGAM} | R Documentation |
Computes the Fisher Z transformation, including its inverse and the first two derivatives.
fisherz(theta, earg = list(), inverse = FALSE, deriv = 0,
short = TRUE, tag = FALSE)
theta |
Numeric or character. See below for further details. |
earg |
Optional list. Extra argument for passing in additional information.
Values of |
inverse |
Logical. If |
deriv |
Order of the derivative. Integer with value 0, 1 or 2. |
short |
Used for labelling the |
tag |
Used for labelling the linear/additive predictor in the
|
The fisherz link function is commonly used for parameters that
lie between -1 and 1.
Numerical values of theta close to -1 or 1 or
out of range result in
Inf, -Inf, NA or NaN.
The arguments short and tag are used only if
theta is character.
For deriv = 0,
0.5 * log((1+theta)/(1-theta)) when inverse = FALSE,
and if inverse = TRUE then
(exp(2*theta)-1)/(exp(2*theta)+1).
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.
Here, all logarithms are natural logarithms, i.e., to base e.
Numerical instability may occur when theta is close to -1 or
1.
One way of overcoming this is to use earg.
The link function rhobit is very similar to fisherz,
e.g., just twice the value of fisherz.
Thomas W. Yee
McCullagh, P. and Nelder, J. A. (1989) Generalized Linear Models, 2nd ed. London: Chapman & Hall.
theta = seq(-0.99, 0.99, by=0.01)
y = fisherz(theta)
## Not run:
plot(theta, y, type="l", las=1, ylab="", main="fisherz(theta)")
abline(v=0, h=0, lty=2)
## End(Not run)
x = c(seq(-1.02, -0.98, by=0.01), seq(0.97, 1.02, by=0.01))
fisherz(x) # Has NAs
fisherz(x, earg=list(bminvalue= -1 + .Machine$double.eps,
bmaxvalue= 1 - .Machine$double.eps)) # Has no NAs