| Foldnorm {VGAM} | R Documentation |
Density, distribution function, quantile function and random generation for the (generalized) folded-normal distribution.
dfoldnorm(x, mean = 0, sd = 1, a1 = 1, a2 = 1, log = FALSE)
pfoldnorm(q, mean = 0, sd = 1, a1 = 1, a2 = 1,
lower.tail = TRUE, log.p = FALSE)
qfoldnorm(p, mean = 0, sd = 1, a1 = 1, a2 = 1,
lower.tail = TRUE, log.p = FALSE, ...)
rfoldnorm(n, mean = 0, sd = 1, a1 = 1, a2 = 1)
x, q |
vector of quantiles. |
p |
vector of probabilities. |
n |
number of observations.
Same as |
mean, sd |
see |
a1, a2 |
see |
log |
Logical.
If |
lower.tail, log.p |
|
... |
Arguments that can be passed into |
See foldnormal, the VGAM family function
for estimating the parameters,
for the formula of the probability density function and other details.
dfoldnorm gives the density,
pfoldnorm gives the distribution function,
qfoldnorm gives the quantile function, and
rfoldnorm generates random deviates.
qfoldnorm() runs very slowly because it calls
uniroot for each value of the argument p.
The solution is consequently not exact; the ... can be used
to obtain a more accurate solution if necessary.
T. W. Yee and Kai Huang
## Not run:
m <- 1.5; SD <- exp(0)
x <- seq(-1, 4, len = 501)
plot(x, dfoldnorm(x, m = m, sd = SD), type = "l", ylim = 0:1, las = 1,
ylab = paste("foldnorm(m = ", m, ", sd = ", round(SD, digits = 3), ")"),
main = "Blue is density, orange is cumulative distribution function",
sub = "Purple lines are the 10,20,...,90 percentiles", col = "blue")
abline(h = 0, col = "gray50")
lines(x, pfoldnorm(x, m = m, sd = SD), col = "orange")
probs <- seq(0.1, 0.9, by = 0.1)
Q <- qfoldnorm(probs, m = m, sd = SD)
lines(Q, dfoldnorm(Q, m = m, sd = SD), col = "purple", lty = 3, type = "h")
lines(Q, pfoldnorm(Q, m = m, sd = SD), col = "purple", lty = 3, type = "h")
abline(h = probs, col = "purple", lty = 3)
max(abs(pfoldnorm(Q, m = m, sd = SD) - probs)) # Should be 0
## End(Not run)