Learn R Programming

VGAM (version 1.0-1)

Foldnorm: The Folded-Normal Distribution

Description

Density, distribution function, quantile function and random generation for the (generalized) folded-normal distribution.

Usage

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)

Arguments

x, q
vector of quantiles.
p
vector of probabilities.
n
number of observations. Same as rnorm.
mean, sd
see rnorm.
a1, a2
log
Logical. If TRUE then the log density is returned.
lower.tail, log.p
Same meaning as in pnorm or qnorm.
...
Arguments that can be passed into uniroot.

Value

  • dfoldnorm gives the density, pfoldnorm gives the distribution function, qfoldnorm gives the quantile function, and rfoldnorm generates random deviates.

Details

See foldnormal, the VGAM family function for estimating the parameters, for the formula of the probability density function and other details.

See Also

foldnormal, uniroot.

Examples

Run this code
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

Run the code above in your browser using DataLab