An R package to work with the triangle distribution and logarithmic triangle distribution
| Actions | Code Coverage | Website | CRAN Downloads | CRAN |
|---|---|---|---|---|
| R-Universe | CRAN Packages | DOI |
|---|---|---|
See the package documentation here:
Getting Started
Install the R package:
# Stable CRAN version install.packages("triangle") # OR development version from GitHub require(devtools) devtools::install_github("bertcarnell/triangle")
use the functions:
a= minimumb= maximumc= mode
require(triangle)Triangle distribution
# rtriangle(n, a, b, c) set.seed(42) rtriangle(5, 1, 5, 2)
## [1] 3.988898 4.131038 2.073171 3.573596 2.926584
# ptriangle(x, a, b, c) ptriangle(0:5, 0, 10, 5)
## [1] 0.00 0.02 0.08 0.18 0.32 0.50
# qtriangle(p, a, b, c) qtriangle(seq(0, 1, by = 0.2), 1, 10, 3)
## [1] 1.000000 2.897367 3.851830 4.980040 6.450352 10.000000
# dtriangle(x, a, b, c) dtriangle(0:4, 0, 10, 5)
## [1] 0.00 0.04 0.08 0.12 0.16
Logarithmic triangle distribution
# rltriangle(n, a, b, c, logbase) set.seed(2001) rltriangle(5, 1, 100, 10)
## [1] 20.195183 13.001831 4.579489 4.753026 3.572658
# pltriangle(x, a, b, c, logbase) pltriangle(10^(0:3), 1, 1000, 10)
## [1] 0.0000000 0.3333333 0.8333333 1.0000000
# qltriangle(p, a, b, c, logbase) qltriangle(seq(0, 1, by = 0.2), 1, 100, 20)
## [1] 1.00000 5.26497 10.47630 17.76210 29.59642 100.00000
# dltriangle(x, a, b, c, logbase) dltriangle(0:5, 1, 10, 5)
## [1] 0.0000000 0.0000000 0.8613531 1.3652124 1.7227062 2.0000000
Parameter estimates
triangle method of moments estimates
x <- rtriangle(20, 0, 2, 1.5) triangle_mom(x)
## a b c
## 0.6341961 1.9096262 1.4197678
triangle maximum likelihood estimates
x <- c(0.1, 0.25, 0.3, 0.4, 0.45, 0.6, 0.75, 0.8) # triangle_mle(x, debug = FALSE, maxiter = 100) triangle_mle(x)
## Triangle Maximum Likelihood Estimates
##
## Call: triangle_mle(x = x)
##
## Estimates:
## Estimate Std.Err
## a -0.10366 NA
## b 0.80000 NA
## c 0.80000 NA
##
## Convergence Code: 0
## CONVERGENCE: REL_REDUCTION_OF_F <= FACTR*EPSMCH
# standard triangle (0,1) likelihood estimates standard_triangle_mle(x)
## Triangle Maximum Likelihood Estimates
##
## Call: standard_triangle_mle(x = x)
##
## Estimates:
## Estimate Std.Err
## a 0.0 0.0000
## b 1.0 0.0000
## c 0.3 0.0871
##
## Convergence Code: NA
##
set.seed(1976) x <- rtriangle(100, 1, 5, 3.5) triangle_mle(x)
## Triangle Maximum Likelihood Estimates
##
## Call: triangle_mle(x = x)
##
## Estimates:
## Estimate Std.Err
## a 0.69536 NA
## b 4.73677 NA
## c 4.73677 NA
##
## Convergence Code: 0
## CONVERGENCE: REL_REDUCTION_OF_F <= FACTR*EPSMCH