Unlimited learning, half price | 50% off

Last chance! 50% off unlimited learning

Sale ends in


extraDistr (version 1.10.0)

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 mode of the distribution.

log, log.p

logical; if TRUE, probabilities p are given as log(p).

lower.tail

logical; if TRUE (default), probabilities are P[Xx] 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)={2(xa)(ba)(ca)x<c2bax=c2(bx)(ba)(bc)x>c

Cumulative distribution function F(x)={(xa)2(ba)(ca)xc1(bx)2(ba)(bc)x>c

Quantile function F1(p)={a+p×(ba)(ca)pcabab(1p)(ba)(bc)p>caba

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)
hist(x, 100, freq = FALSE)
curve(dtriang(x, 5, 7, 6), 3, 10, n = 500, col = "red", add = TRUE)
hist(ptriang(x, 5, 7, 6))
plot(ecdf(x))
curve(ptriang(x, 5, 7, 6), 3, 10, n = 500, col = "red", lwd = 2, add = TRUE)

Run the code above in your browser using DataLab