MyNixOS website logo
Description

High-Performance Triangular Distribution Functions.

A collection of high-performance functions for the triangular distribution that consists of the probability density function, cumulative distribution function, quantile function, random variate generator, moment generating function, characteristic function, and expected shortfall function. References: Samuel Kotz, Johan Ren Van Dorp (2004) <doi:10.1142/5720> and Acerbi, Carlo and Tasche, Dirk. (2002) <doi:10.1111/1468-0300.00091>.

triangulr

Build Codecov CRAN Downloads DownloadsOverall 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
Metadata

Version

1.2.1

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows