Learn R Programming

Runuran (version 0.40)

unuran.discr.new: Create a UNU.RAN discrete univariate distribution object

Description

Create a new UNU.RAN object for a discrete univariate distribution. The interface might be changed in future releases. Do not use unnamed arguments!

[Advanced] -- Discrete Distribution.

Usage

unuran.discr.new(cdf=NULL, pv=NULL, pmf=NULL, lb=NA, ub=NA,
                 mode=NA, sum=NA, name=NA)

Arguments

cdf

cumulative distribution function. (R function)

pv

probability vector. (numeric vector)

pmf

probability mass function. (R function)

mode

mode of distribution. (numeric, integer)

lb

lower bound of domain; use -Inf if unbounded from left. (numeric, integer)

ub

upper bound of domain; use Inf if unbounded from right; when pmf is not given, the default ub=Inf is used. (numeric, integer)

sum

sum over pv / pmf; used for computing normalization constants if required. (numeric)

name

name of distribution. (string)

Author

Josef Leydold and Wolfgang H\"ormann unuran@statmath.wu.ac.at.

Details

Creates an instance of class unuran.discr. For more details see also unuran.new.

The user is responsible that the given informations are consistent. It depends on the chosen method which information must be given / are used.

References

W. H\"ormann, J. Leydold, and G. Derflinger (2004): Automatic Nonuniform Random Variate Generation. Springer-Verlag, Berlin Heidelberg.

See Also

unuran.discr, unuran.new, unuran.

Examples

Run this code
## Create a distribution object with given PV and mode
mypv <- dbinom(0:100,100,0.3)
distr <- new("unuran.discr", pv=mypv, lb=0, mode=30)

## Create discrete distribution with given probability vector
## (the PV need not be normalized)
pv <- c(1.,2.,1.5,0.,3.,1.2)     
dpv <- new("unuran.discr", pv=pv, lb=1)

## Create discrete distribution with given PMF
pmf <- function(x) dbinom(x,100,0.3)
dpmf <- new("unuran.discr", pmf=pmf, lb=0, ub=100)

Run the code above in your browser using DataLab