deexp(x, rate = 1, log = FALSE)
peexp(q, rate = 1, log = FALSE)
qeexp(p, rate = 1, Maxit_nr = 10, Tol_nr = 1.0e-6)
reexp(n, rate = 1)
deunif
.rexp
.deunif
.deexp(x)
gives the density function $g(x)$.
peexp(q)
gives the distribution function $G(q)$.
qeexp(p)
gives the expectile function:
the value $y$ such that $G(y)=p$.
reexp(n)
gives $n$ random variates from $G$.deunif
including
a note regarding the terminology used.
Here,
exp
corresponds to the distribution of interest, $F$, and
eexp
corresponds to $G$.
The addition of ``e
'' is for the `other'
distribution associated with the parent distribution.
Thus
deexp
is for $g$,
peexp
is for $G$,
qeexp
is for the inverse of $G$,
reexp
generates random variates from $g$.
For qeexp
the Newton-Raphson algorithm is used to solve for
$y$ satisfying $p = G(y)$.
Numerical problems may occur when values of p
are
very close to 0 or 1.
deunif
,
denorm
,
dexp
.my_p = 0.25; y = rexp(nn <- 1000)
(myexp = qeexp(my_p))
sum(myexp - y[y <= myexp]) / sum(abs(myexp - y)) # Should be my_p
par(mfrow=c(2,1))
yy = seq(-0, 4, len = nn)
plot(yy, deexp(yy), col = "blue", ylim = 0:1, xlab = "y", ylab = "g(y)",
type = "l", main = "g(y) for Exp(1); dotted green is f(y) = dexp(y)")
lines(yy, dexp(yy), col="darkgreen", lty="dotted", lwd=2) # 'original'
plot(yy, peexp(yy), type = "l", col = "blue", ylim = 0:1,
xlab = "y", ylab = "G(y)", main = "G(y) for Exp(1)")
abline(v = 1, h = 0.5, col = "red", lty = "dashed")
lines(yy, pexp(yy), col = "darkgreen", lty = "dotted", lwd = 2)
Run the code above in your browser using DataLab