MyNixOS website logo
Description

Discrete Distribution Approximations.

Creates discretised versions of continuous distribution functions by mapping continuous values to an underlying discrete grid, based on a (uniform) frequency of discretisation, a valid discretisation point, and an integration range. For a review of discretisation methods, see Chakraborty (2015) <doi:10.1186/s40488-015-0028-6>.

distcrete

Project Status: Active – The project has reached a stable, usable state and is being actively developed.

Travis-CI Build Status Build status codecov.io

Discrete Distribution Approximations

distcrete takes a distribution and a set of parameters and returns a list object with functions as elements. Each one is the equivalent to the function calls we typically expect to be able to do in R for a given distribution:

  • Density e.g.dnorm
  • Distribution function e.g. pnorm
  • Quantile function e.g. qnorm
  • Random generation e.g. rnorm

Each function created by distcrete corresponds to the first letter of the non-discrete equivalent.

set.seed(415)
d0 <- distcrete::distcrete("gamma", 1, shape = 3, w = 0)
d0$d(1:10)
#>  [1] 0.243022187 0.253486335 0.185086776 0.113451286 0.062683215
#>  [6] 0.032332641 0.015882196 0.007521773 0.003462799 0.001558522
d0$p(c(.1,.5))
#> [1] 0.09958372 0.19115317
d0$q(c(.1,.5))
#> [1] 0 1
d0$r(10)
#>  [1]  2  3  1  2 12  2  2  4  5  3

Allowed distributions

You can use any distribution that conforms to the following expectations:

  • It has a distribution function like p[dist name] available
  • It has a quantile function like q[dist name] available

These can be loaded from a package or created on the fly, but must exist when the distcrete() function is called.

Installation

You can install it from CRAN with:

install.packages("distcrete")

You can install distcrete the most up to date version from github with:

# install.packages("devtools")
devtools::install_github("reconhub/distcrete")

Tests

devtools::test()
#> Loading distcrete
#> Loading required package: testthat
#> Testing distcrete
#> distcrete: .....................................................................................................................................
#> utils: ...............
#> 
#> DONE ======================================================================
Metadata

Version

1.0.3

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