Learn R Programming

VGAM (version 1.1-12)

Triangle: The Triangle Distribution

Description

Density, distribution function, quantile function and random generation for the Triangle distribution with parameter theta.

Usage

dtriangle(x, theta, lower = 0, upper = 1, log = FALSE)
ptriangle(q, theta, lower = 0, upper = 1, lower.tail = TRUE, log.p = FALSE)
qtriangle(p, theta, lower = 0, upper = 1, lower.tail = TRUE, log.p = FALSE)
rtriangle(n, theta, lower = 0, upper = 1)

Value

dtriangle gives the density,

ptriangle gives the distribution function,

qtriangle gives the quantile function, and

rtriangle generates random deviates.

Arguments

x, q

vector of quantiles.

p

vector of probabilities.

n

number of observations. Same as runif.

theta

the theta parameter which lies between lower and upper.

lower, upper

lower and upper limits of the distribution. Must be finite.

log

Logical. If log = TRUE then the logarithm of the density is returned.

lower.tail, log.p

Same meaning as in pnorm or qnorm.

Author

T. W. Yee and Kai Huang

Details

See triangle, the VGAM family function for estimating the parameter \(\theta\) by maximum likelihood estimation, however the regular conditions do not hold so the algorithm crawls to the solution if lucky.

See Also

triangle, topple.

Examples

Run this code
if (FALSE)  x <- seq(-0.1, 1.1, by = 0.01); theta <- 0.75
plot(x, dtriangle(x, theta = theta), type = "l", col = "blue", las = 1,
     main = "Blue is density, orange is the CDF",
     sub = "Purple lines are the 10,20,...,90 percentiles",
     ylim = c(0,2), ylab = "")
abline(h = 0, col = "blue", lty = 2)
lines(x, ptriangle(x, theta = theta), col = "orange")
probs <- seq(0.1, 0.9, by = 0.1)
Q <- qtriangle(probs, theta = theta)
lines(Q, dtriangle(Q, theta = theta), col = "purple", lty = 3, type = "h")
ptriangle(Q, theta = theta) - probs  # Should be all zero
abline(h = probs, col = "purple", lty = 3) 

Run the code above in your browser using DataLab