fisherzlink | R Documentation |
Computes the Fisher Z transformation, including its inverse and the first two derivatives.
fisherzlink(theta, bminvalue = NULL, bmaxvalue = NULL,
inverse = FALSE, deriv = 0, short = TRUE, tag = FALSE)
theta |
Numeric or character. See below for further details. |
bminvalue , bmaxvalue |
Optional boundary values.
Values of |
inverse , deriv , short , tag |
Details at |
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
.
For deriv = 0
,
0.5 * log((1+theta)/(1-theta))
(same as atanh(theta)
)
when inverse = FALSE
,
and if inverse = TRUE
then
(exp(2*theta)-1)/(exp(2*theta)+1)
(same as tanh(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.
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,
e.g., bminvalue
.
The link function rhobitlink
is
very similar to fisherzlink
,
e.g., just twice the value of fisherzlink
.
This link function may be renamed to atanhlink
in the near future.
Thomas W. Yee
McCullagh, P. and Nelder, J. A. (1989). Generalized Linear Models, 2nd ed. London: Chapman & Hall.
Links
,
rhobitlink
,
logitlink
.
theta <- seq(-0.99, 0.99, by = 0.01)
y <- fisherzlink(theta)
## Not run: plot(theta, y, type = "l", las = 1, ylab = "",
main = "fisherzlink(theta)", col = "blue")
abline(v = (-1):1, h = 0, lty = 2, col = "gray")
## End(Not run)
x <- c(seq(-1.02, -0.98, by = 0.01), seq(0.97, 1.02, by = 0.01))
fisherzlink(x) # Has NAs
fisherzlink(x, bminvalue = -1 + .Machine$double.eps,
bmaxvalue = 1 - .Machine$double.eps) # Has no NAs
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.