The Triangle Distribution
Source:R/dtriangle.R
, R/ptriangle.r
, R/qtriangle.R
, and 1 more
triangle.Rd
These functions provide information about the triangle
distribution on the interval from a
to b
with a maximum at
c
. dtriangle
gives the density, ptriangle
gives the
distribution function, qtriangle
gives the quantile function, and
rtriangle
generates n
random deviates.
Usage
dtriangle(x, a = 0, b = 1, c = (a + b)/2)
ptriangle(q, a = 0, b = 1, c = (a + b)/2)
qtriangle(p, a = 0, b = 1, c = (a + b)/2)
rtriangle(n = 1, a = 0, b = 1, c = (a + b)/2)
Arguments
- x, q
vector of quantiles.
- a
lower limit of the distribution.
- b
upper limit of the distribution.
- c
mode of the distribution.
- p
vector of probabilities.
- n
number of observations. If
length(n) > 1
, the length is taken to be the number required.
Value
dtriangle
gives the density, ptriangle
gives the
distribution function, qtriangle
gives the quantile function, and
rtriangle
generates random deviates. Invalid arguments will result
in return value NaN
or NA
.
Details
All probabilities are lower tailed probabilities.
a
, b
, and c
may be appropriate length vectors except in
the case of rtriangle
. rtriangle
is derived from a draw from
runif
. The triangle distribution has density:
$$f(x) = \frac{2(x-a)}{(b-a)(c-a)}$$
for \(a \le x < c\).
$$f(x) = \frac{2(b-x)}{(b-a)(b-c)}$$
for \(c \le x \le b\).
\(f(x) = 0\) elsewhere.
The mean and variance are:
$$E(x) = \frac{(a + b + c)}{3}$$
$$V(x) = \frac{1}{18}(a^2 + b^2 + c^2 - ab - ac - bc)$$
References
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
See also
.Random.seed
about random number generation,
runif
, etc for other distributions.
Examples
## view the distribution
tri <- rtriangle(100000, 1, 5, 3)
hist(tri, breaks=100, main="Triangle Distribution", xlab="x")
mean(tri) # 1/3*(1 + 5 + 3) = 3
#> [1] 3.002157
var(tri) # 1/18*(1^2 + 3^2 + 5^2 - 1*5 - 1*3 - 5*3) = 0.666667
#> [1] 0.6680518
dtriangle(0.5, 0, 1, 0.5) # 2/(b-a) = 2
#> [1] 2
qtriangle(ptriangle(0.7)) # 0.7
#> [1] 0.7