Learn R Programming

e1071 (version 1.3-4)

Discrete: Discrete Distribution

Description

These functions provide information about the discrete distribution where the probability of the elements of values is proportional to the values given in probs, which are normalized to sum up to 1. ddiscrete gives the density, pdiscrete gives the distribution function, qdiscrete gives the quantile function and rdiscrete generates random deviates.

Usage

ddiscrete(x, probs, values = 1:length(probs))
pdiscrete(q, probs, values = 1:length(probs))
qdiscrete(p, probs, values = 1:length(probs))
rdiscrete(n, probs, values = 1:length(probs),
          method = "inverse", aliasmatrix = NULL)
aliasmat(p)
aliasmat2prob(aliasmatrix)

Arguments

x,q
vector or array of quantiles.
p
vector or array of probabilites.
n
number of observations.
probs
probabilities of the distribution.
values
values of the distribution.
method
generation method, can be "inverse" or "alias".
aliasmatrix
matrix needed by alias method.

Details

For the generation of the random deviates, one can choose between the method "inverse" which basically makes a lookup in the vector of the probabilities and the method "alias". The latter method computes an aliasmatrix by the function aliasmat which allows a faster data generation once this matrix is computed. If such a matrix has already been computed, it can be passed as further argument to rdiscrete. aliasmat2prob computed probabilities from a given aliasmatrix.

Examples

Run this code
## a vector of length 30 whose elements are 1 with probability 0.2
## and 2 with probability 0.8.
rdiscrete (30, c(0.2, 0.8))

## a vector of length 100 whose elements are A, B, C, D.
## The probabilities of the four values have the relation 1:2:3:3
rdiscrete (100, c(1,2,3,3), c("A","B","C","D"))

Run the code above in your browser using DataLab