Rhobit Link Function
Computes the rhobit link transformation, including its inverse and the first two derivatives.
rhobitlink(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, e.g.,
values of |
inverse, deriv, short, tag |
Details at |
The rhobitlink
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
, the rhobit of theta
, i.e., log((1 +
theta)/(1 - theta))
when inverse = FALSE
, and if inverse =
TRUE
then (exp(theta) - 1)/(exp(theta) + 1)
.
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.
Numerical instability may occur when theta
is close
to -1 or 1. One way of overcoming this is to
use bminvalue
, etc.
The correlation parameter of a standard bivariate normal distribution lies between -1 and 1, therefore this function can be used for modelling this parameter as a function of explanatory variables.
The link function rhobitlink
is very similar to
fisherzlink
, e.g., just twice the value of
fisherzlink
.
Thomas W. Yee
theta <- seq(-0.99, 0.99, by = 0.01) y <- rhobitlink(theta) ## Not run: plot(theta, y, type = "l", las = 1, ylab = "", main = "rhobitlink(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)) rhobitlink(x) # Has NAs rhobitlink(x, bminvalue = -1 + .Machine$double.eps, bmaxvalue = 1 - .Machine$double.eps) # Has no NAs
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.