R: Generate a Random Data from Discrete Probability Function
rDiscrete
R Documentation
Generate a Random Data from Discrete Probability Function
Description
Generates random data from a given empirical probability function. It also returns cumulative distribution function corresponding to the entered probability function.
Usage
rDiscrete(n = 1, pf)
Arguments
n
number of observations.
pf
empirical probability function.
Details
pf is an array of any dimensionality with all elements sum up to one. If its dimension is greater than one, it is transformed to a row vector column-by-column.
Value
A list including
rdiscrete
an nx1 vector that gives generated random data.
cdf
a vector including cumulative distribution function.
Kroese D.P., Taimre T., Botev Z.I. (2011) Handbook of Monte Carlo Methods, Wiley, New York.
Examples
p = c(0.23,0.11,0.05,0.03,0.31,0.03,0.22,0.02)
rDiscrete(n=2,pf=p)
# pf would be entered as a matrix:
p = matrix(c(0.23,0.11,0.05,0.03,0.31,0.03,0.22,0.02), nrow=2, ncol=4, byrow = TRUE)
rDiscrete(n=2,pf=p)
p = matrix(c(0.23,0.11,0.05,0.03,0.31,0.03,0.22,0.02), nrow=4, ncol=2, byrow = TRUE)
rDiscrete(n=2,pf=p)
# or pf would be entered as a three dimensional array:
p = array(c(0.23,0.11,0.05,0.03,0.31,0.03,0.22,0.02), dim=c(2,2,2))
rDiscrete(n=2,pf=p)