CRAN Task View: Probability Distributions

Maintainer:Christophe Dutang, Patrice Kiener, Bruce J. Swihart
Contact:dutangc at
Contributions:Suggestions and improvements for this task view are very welcome and can be made through issues or pull requests on GitHub or via e-mail to the maintainer address. For further details see the Contributing guide.
Citation:Christophe Dutang, Patrice Kiener, Bruce J. Swihart (2024). CRAN Task View: Probability Distributions. Version 2024-06-24. URL
Installation:The packages from this task view can be installed automatically using the ctv package. For example, ctv::install.views("Distributions", coreOnly = TRUE) installs all the core packages or ctv::update.views("Distributions") installs all packages that are not yet installed and up-to-date. See the CRAN Task View Initiative for more details.

For most of the classical distributions, base R provides probability distribution functions (p), density functions (d), quantile functions (q), and random number generation (r). Beyond this basic functionality, many CRAN packages provide additional useful distributions. In particular, multivariate distributions as well as copulas are available in contributed packages.

The maintainers gratefully acknowledge Achim Zeileis, David Luethi, Tobias Verbeke, Robin Hankin, Mathias Kohl, G. Jay Kerns, Kjetil Halvorsen, William Asquith for their useful comments/suggestions. If you think information is not accurate or not complete, please send an e-mail to the maintainer or submit an issue or pull request in the GitHub repository linked above.

Table of contents

Base functionality

Some packages may optionally provide the symbolic derivatives with respect to the parameters for the probability functions. For instance, the first and second derivatives of the log-density can be of some help in estimation and inference tasks, and the derivatives of the quantile function can help when inferring on a given quantile. For that purpose, the following base R functions can be used stats::D() for derivatives w.r.t. a single parameter, or stats::deriv() for (partial) derivatives w.r.t. multiple parameters. The Deriv package provides a much more flexible symbolic differentiation interface. One can also use Stan Math library through StanHeaders package, see e.g. this blog. The nieve package provides symbolic differentiation for two probability distribution (Generalized Pareto and Generalized Extreme Value) in order to compute the log-likelihood for example.

Discrete distributions

Discrete univariate distributions

Discrete multivariate distributions

Continuous distributions

Continuous univariate distributions

Continuous multivariate distributions

Other distributions

Mixed-type distributions

Mixture of probability laws

Random matrices


Compound, composite, discretized, exponentiated and transformation of distributions

Moments, skewness, kurtosis and etc

Random number generators



General books

Books dedicated to a distribution family

Books with applications

CRAN packages

Core:actuar, copula, distr, fCopulae, gamlss.dist, lmomco, mnormt, mvtnorm, PearsonDS, VGAM.
Regular:AdMit, AEP, agricolae, ald, alphastable, argus, BayesLogit, bayesm, benchden, BenfordTests, betafunctions, BGFD, bgumbel, BiasedUrn, Bivariate.Pareto, BivGeo, bivgeom, bmixture, BMT, bridgedist, bsgof, bzinb, CaDENCE, cbinom, ChernoffDist, chyper, CircStats, circular, cmvnorm, coga, Compositional, compositions, CompQuadForm, ComRiskModel, condMVNorm, condTruncMVN, convdistr, copBasic, copent, CopulaGAMM, countDM, cpd, crch, csn, Davies, degreenet, Delaporte, Deriv, dgumbel, DirichletReg, dirmult, disclap, DiscreteInverseWeibull, DiscreteLaplace, DiscreteWeibull, distcrete, distrDoc, distrEllipse, distrEx, Distributacalcul, distributional, distributions3, distributionsrd, DistributionUtils, distrMod, distrSim, distrTeach, distrTEst, distTails, dng, DPQ, dqrng, dstabledist, e1071, Ecume, elfDistr, emdbook, emg, empichar, EnvStats, evd, evir, evmix, ExtDist, extraDistr, extremefit, FAdist, FatTailsR, fBasics, fExtremes, fitdistrplus, fitteR, FlexDir, flexsurv, FMStable, ForestFit, fpow, frbinom, fromo, gambin, gaussDiff, gb, GB2, GenBinomApps, gendist, GeneralizedHyperbolic, GenOrd, ggamma, ghyp, GIGrvg, ginormal, gk, gld, GLDEX, glogis, good, greybox, GSM, GTDL, gumbel, GWI, HAC, hermite, hyper2, HyperbolicDist, igcop, kdist, kernelboot, KScorrect, L1pack, LambertW, LaplacesDemon, lcopula, LearnBayes, lhs, libstable4u, LindleyPowerSeries, llogistic, lmom, Lmoments, logitnorm, loglognorm, mapfit, marg, MASS, matrixdist, matrixNormal, matrixsampling, mbbefd, MBBEFDLite, MBSP, mc2d, mcauchyd, mclust, MCMCpack, mded, MEPDF, mggd, minimax, MittagLeffleR, MixedTS, mixSPE, mixtools, MM, MNB, mniw, mnorm, modeest, ModEstM, moments, MomTrunc, movMF, MPS, msm, mstudentd, multimode, MultiRNG, mvgb, mvpd, MVT, nbconv, new.dist, Newdistns, nieve, NonNorMvtDist, nor1mix, NormalLaplace, normalp, ntsDists, ollggamma, OneStep, orders, OrdNor, OwenQ, parameters, Pareto, ParetoPosStable, pbv, PDQutils, pg, pgdraw, PhaseTypeR, pmultinom, poibin, poilog, PoissonBinomial, poistweedie, polyaAeppli, poweRlaw, PSDistr, Qapprox, QF, qfratio, qmap, QRM, qrmtools, qrng, random, randtoolbox, RDieHarder, ReIns, relliptical, Renext, revdbayes, rlecuyer, RMKdiscrete, RMTstat, rmutil, ROOPSD, rstream, RTDE, rtdists, Runuran, rust, rvMF, s20x, sadists, SCI, scModels, setRNG, sfsmisc, SGB, sglg, sgt, simdd, SimJoint, skellam, SkewHyperbolic, skewt, sld, smoothmest, SMR, sn, spacefillr, spam, sparseMVN, spd, stable, stabledist, StanHeaders, statmod, SuppDists, symmoments, SymTS, TempStable, TidyDensity, Tinflex, TLMoments, tmvmixnorm, tmvtnorm, tolerance, trapezoid, trawl, triangle, TruncatedNormal, truncdist, truncnorm, tsallisqexp, tvgeom, tweedie, ugomquantreg, uniformly, UnivRNG, VarianceGamma, vasicek, vasicekreg, VineCopula, vines, vistributions, visualize, watson, WienR, zipfextR, zipfR.

Related links

Other resources