The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

triangulr

Build Codecov CRAN Downloads Downloads Overall Lifecycle: stable

Introduction

The triangulr package provides high-performance triangular distribution functions which includes density function, distribution function, quantile function, random variate generator, moment generating function, characteristic function, and expected shortfall function for the triangular distribution.

Installation

You can install the released version of triangulr from CRAN with:

install.packages("triangulr")

And the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("irkaal/triangulr")

Example

These are basic examples of using the included functions:

library(triangulr)

Using the density function, dtri().

x <- c(0.1, 0.5, 0.9)

dtri(x,
     min = 0,
     max = 1,
     mode = 0.5)
#> [1] 0.4 2.0 0.4

dtri(x,
     min = c(0, 0, 0),
     max = 1,
     mode = 0.5)
#> [1] 0.4 2.0 0.4

Using the distribution function, ptri().

q <- c(0.1, 0.5, 0.9)

1 - ptri(q, lower_tail = FALSE)
#> [1] 0.02 0.50 0.98

ptri(q, lower_tail = TRUE)
#> [1] 0.02 0.50 0.98

ptri(q, log_p = TRUE)
#> [1] -3.91202301 -0.69314718 -0.02020271

log(ptri(q, log_p = FALSE))
#> [1] -3.91202301 -0.69314718 -0.02020271

Using the quantile function, qtri().

p <- c(0.1, 0.5, 0.9)

qtri(1 - p, lower_tail = FALSE)
#> [1] 0.2236068 0.5000000 0.7763932

qtri(p, lower_tail = TRUE)
#> [1] 0.2236068 0.5000000 0.7763932

qtri(log(p), log_p = TRUE)
#> [1] 0.2236068 0.5000000 0.7763932

qtri(p, log_p = FALSE)
#> [1] 0.2236068 0.5000000 0.7763932

Using the random variate generator, rtri().

n <- 3

set.seed(1)
rtri(n,
     min = 0,
     max = 1,
     mode = 0.5)
#> [1] 0.3643547 0.4313490 0.5378601

set.seed(1)
rtri(n,
     min = c(0, 0, 0),
     max = 1,
     mode = 0.5)
#> [1] 0.3643547 0.4313490 0.5378601

Using the moment generating function, mgtri().

t <- c(1, 2, 3)

mgtri(t,
      min = 0,
      max = 1,
      mode = 0.5)
#> [1] 1.683357 2.952492 5.387626

mgtri(t,
      min = c(0, 0, 0),
      max = 1,
      mode = 0.5)
#> [1] 1.683357 2.952492 5.387626

Using the expected shortfall function, estri().

p <- c(0.1, 0.5, 0.9)

estri(p,
      min = 0,
      max = 1,
      mode = 0.5)
#> [1] 0.1490712 0.3333333 0.4610079

estri(p,
      min = c(0, 0, 0),
      max = 1,
      mode = 0.5)
#> [1] 0.1490712 0.3333333 0.4610079

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.