Learn R Programming

VGAM (version 1.1-2)

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
# 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
# }

Run the code above in your browser using DataLab