gammaRMlink | R Documentation |
Computes the gammaRMlink
transformation, its inverse and
the first two derivatives.
gammaRMlink(theta, shape = NULL, wrt.param = NULL,
bvalue = NULL, inverse = FALSE,
deriv = 0, short = TRUE, tag = FALSE)
theta |
Numeric or character. This is |
shape |
The shape parameter. Same as
|
wrt.param |
Positive integer, either |
bvalue, inverse, deriv, short, tag |
See |
The link to model the mean of the 2–parameter gamma distribution.
The gammaRMlink
transformation, for given
\alpha
('shape' parameter),
is defined as
\eta = \eta(\alpha; \beta) = \log \frac{\alpha}{\beta},
where \beta > 0
is a rate parameter.
This link is expressly a function of \beta
, i.e.
\theta
, therefore \alpha
(shape)
must be entered at every call.
Numerical values of \alpha
or \beta
out of range may
result in Inf
, -Inf
, NA
or NaN
.
For deriv = 0
, the gammaRMlink
transformation of
theta
, i.e. \beta
, when inverse = FALSE
.
If inverse = TRUE
, then \theta
becomes \eta
,
and the inverse,
\alpha
* exp(-theta)
, for given \alpha
, is
returned.
For deriv = 1
, theta
becomes
\theta = (\beta, \alpha)=
(\theta1, \theta2)
, and
\eta = (\eta1, \eta2)
,
and then, the argument wrt.param
must be
considered:
A) If inverse = FALSE
, then
d
eta1
/ d
theta1
when
wrt.param = 1
, and
d
eta1
/ d
theta2
if
wrt.param = 2
.
B) For inverse = TRUE
, this function returns
d
theta1
/ d
eta1
and
d
theta2
/ d
eta1
conformably arranged
in a matrix, if wrt.param = 1
,
as a function of \theta_i
, i = 1, 2
.
Also, when wrt.param = 2
, a matrix with columns
d
theta1
/ d
eta2
and
d
theta2
/ d
eta2
is returned.
Similarly, when deriv = 2
, the second derivatives in
terms of theta
are returned.
Numerical instability may occur for values theta
too close
to zero. Use argument bvalue
to replace them before
computing the link.
If theta
is character, then arguments inverse
and
deriv
are ignored. See Links
for further details.
V. Miranda and Thomas W. Yee.
gammaRff
,
gammaR
,
Links
.
eta <- seq(-3, 3, by = 0.1) # this is eta = log(mu(b, a)).
shape <- rep(exp(0.8), length(eta)) # 'shape' argument.
## E1. Get 'rate' values.
theta <- gammaRMlink(theta = eta, shape = shape, inverse = TRUE) # rate
## Not run:
## E2. Plot theta vs. eta, 'shape' fixed.
plot(theta, eta, type = "l", las = 1, ylab = "",
main = "gammaRMlink(theta; shape)")
## End(Not run)
## E3. gammaRMlink() and its inverse ##
etabis <- gammaRMlink(theta = theta, shape = shape, inverse = FALSE)
my.diff <- eta - etabis
summary(my.diff) # Zero
## E4. Special values arranged in a matrix ##
bbeta <- matrix(eta[1:9], ncol = 3, nrow = 3) #Ensure equal dimensions.
alpha <- matrix(c(Inf, -Inf, NA, NaN, -1 , 1, 0, -2, 2), ncol = 3, nrow = 3)
# The gammaRMlink transformation (log(a/b))
gammaRMlink(theta = bbeta, shape = alpha, inv = FALSE) # NaNs produced.
# Same as
log(alpha/bbeta)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.