Learn R Programming

extraDistr (version 1.8.1)

Triangular: Triangular distribution

Description

Density, distribution function, quantile function and random generation for the triangular distribution.

Usage

dtriang(x, a = -1, b = 1, c = (a + b)/2, log = FALSE)
ptriang(q, a = -1, b = 1, c = (a + b)/2, lower.tail = TRUE, log.p = FALSE)
qtriang(p, a = -1, b = 1, c = (a + b)/2, lower.tail = TRUE, log.p = FALSE)
rtriang(n, a = -1, b = 1, c = (a + b)/2)

Arguments

x, q
vector of quantiles.
a, b, c
minimum, maximum and shape parameters.
log, log.p
logical; if TRUE, probabilities p are given as log(p).
lower.tail
logical; if TRUE (default), probabilities are $P[X \le x]$ otherwise, $P[X > x]$.
p
vector of probabilities.
n
number of observations. If length(n) > 1, the length is taken to be the number required.

Details

Probability density function $$ f(x) = \left\{\begin{array}{ll} \frac{2(x-a)}{(b-a)(c-a)} & x < c \\ \frac{2}{b-a} & x = c \\ \frac{2(b-x)}{(b-a)(b-c)} & x > c \end{array}\right. $$

Cumulative distribution function $$ F(x) = \left\{\begin{array}{ll} \frac{(x-a)^2}{(b-a)(c-a)} & x \leq c \\ 1 - \frac{(b-x)^2}{(b-a)(b-c)} & x > c \end{array}\right. $$

Quantile function $$ F^{-1}(p) = \left\{\begin{array}{ll} a + \sqrt{p \times (b-a)(c-a)} & p \leq \frac{c-a}{b-a} \\ b - \sqrt{(1-p)(b-a)(b-c)} & p > \frac{c-a}{b-a} \end{array}\right. $$

For random generation MINMAX method described by Stein and Keblis (2009) is used.

References

Forbes, C., Evans, M. Hastings, N., & Peacock, B. (2011). Statistical Distributions. John Wiley & Sons.

Stein, W. E., & Keblis, M. F. (2009). A new method to simulate the triangular distribution. Mathematical and computer modelling, 49(5), 1143-1147.

Examples

Run this code

x <- rtriang(1e5, 5, 7, 6)
xx <- seq(-10, 10, by = 0.001)
hist(x, 100, freq = FALSE)
lines(xx, dtriang(xx, 5, 7, 6), col = "red")
hist(ptriang(x, 5, 7, 6))
plot(ecdf(x))
lines(xx, ptriang(xx, 5, 7, 6), col = "red", lwd = 2)

Run the code above in your browser using DataLab