Learn R Programming

joker

Introduction

The joker R package develops an S4 distribution system and performs parameter estimation in common distribution families, making well-established and state-of-the-art methods more accessible.

Key Features

  1. The common d, p, q, r function family for each distribution (e.g. dnorm, pnorm, qnorm, rnorm) is enriched with
  • the ll counterpart (e.g. llnorm) that calculates the log-likelihood,
  • the e counterpart (e.g. enorm) that performs parameter estimation,
  • the v counterpart (e.g. vnorm) that calculates the asymptotic variance-covariance matrix of an estimator.
  1. An S4-class distribution system is developed, allowing the generic evaluation of the dpqr function family and basic distribution calculus.
  2. Moment functions (mean, median, mode, var, sd, skew, kurt) as well as functions that calculate the entropy and the Fisher Information are available for all distributions.
  3. Distributions not included in base R are made available, such as the Dirichlet and the Multivariate Gamma.
  4. Parameter estimation is performed analytically instead of numerically for the estimators that can be expressed explicitly.
  5. Numerical optimization of the MLE (whenever required, e.g. the Beta and Gamma distributions) is performed with computational efficiency, taking advantage of the score equation system to reduce the dimensionality of the optimization. 7 Functions to compute and plot common estimator metrics (bias, variance, and RMSE) are included in the package to allow the convenient study and comparison of the estimators.

Installation

You can install the release version of joker from CRAN by running the following line of code:

 install.packages("joker")

You can install the development version of joker from github by running the following line of code:

 devtools::install_github("thechibo/joker")

More details can be found in the joker Github repository.

Documentation

Detailed documentation, along with reproducible examples, can be found in the package vignette vignette(topic = "joker", package = "joker").

Team

The joker package is developed in the Mathematics Department of the University of Athens. The package maintainer is Ioannis Oikonomidis, working under the supervision of Prof. Samis Trevezas.

Copy Link

Version

Install

install.packages('joker')

Version

0.14.2

License

GPL (>= 3)

Maintainer

Ioannis Oikonomidis

Last Published

April 28th, 2025

Functions in joker (0.14.2)

Fisher

Fisher Distribution
Dir

Dirichlet Distribution
Beta

Beta Distribution
Cauchy

Cauchy Distribution
Gam

Gamma Distribution
Bern

Bern Distribution
Chisq

Chi-Square Distribution
Cat

Cat Distribution
Laplace

Laplace Distribution
Multigam

Multivariate Gamma Distribution
LargeMetrics

Large Sample Metrics
Unif

Uniform Distribution
Multinom

Multinomial Distribution
Norm

Normal Distribution
Lnorm

Log-Normal Distribution
Pois

Poisson Distribution
Matrix

Matrix Wrappers
Geom

Geometric Distribution
Nbinom

Negative Binomial Distribution
SmallMetrics

Small Sample Metrics
Stud

Student Distribution
check_data

Check the Data
array_to_df

Turn an array to a data.frame
calculus

Distributional Calculus
Weib

Weibull Distribution
joker-package

joker: Probability Distributions and Parameter Estimation
loglikelihood

Log-Likelihood Function
estimation

Parameter Estimation
distributions

Distribution S4 Classes
distrhelpers

Distribution Handling Helpers
fd

Forward Difference
moments

Moments - Parametric Quantities of Interest
progress

Progress Bar
check_optim

Check Optim Arguments
inv2x2

2x2 Inverse Matrix
seqcol

Sequence Functions for Matrices
plot

Plot Metrics
stats

Statistical Functions
set1of1

Indexing Functions
isit

Is it?
functionals

Distribution Functionals
variance

Estimator Variance
idigamma

Inverse Digamma Function
tests

Estimation and Variance Tests
Exp

Exponential Distribution
Binom

Binom Distribution