rhobitlink | R Documentation |
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
Links
,
binom2.rho
,
fisherz
.
theta <- seq(-0.99, 0.99, by = 0.01)
y <- rhobitlink(theta)
## Not run:
plot(theta, y, type = "l", 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
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.