dgt.new | R Documentation |
UNU.RAN random variate generator for discrete distributions with given probability vector. It applies the Guide-Table Method for discrete inversion (‘DGT’).
[Universal] – Inversion Method.
dgt.new(pv, from=1) dgtd.new(distr)
pv |
vector of non-negative numbers (need not sum to 1). (numeric vector) |
from |
index of first entry in vector. (integer) |
distr |
distribution object. (S4 object of class |
This function creates an unuran
object based on ‘DGT’
(Discrete Guide-Table method). It can be used to draw samples of a
discrete random variate with given probability vector
using ur
.
It also allows to compute quantiles by means of uq
.
Vector pv
must be postive but need not be normalized
(i.e., it can be any multiple of a probability vector).
The method runs fast in constant time, i.e., marginal sampling times do not depend on the length of the given probability vector. Whereas their setup times grow linearly with this length.
Notice that the range of random variates is
from:(from+length(pv)-1)
.
Alternatively, one can use function dgtd.new
where the object
distr
of class "unuran.discr"
must contain all required
information about the distribution.
An object of class "unuran"
.
Josef Leydold and Wolfgang H\"ormann unuran@statmath.wu.ac.at.
W. H\"ormann, J. Leydold, and G. Derflinger (2004): Automatic Nonuniform Random Variate Generation. Springer-Verlag, Berlin Heidelberg. See Section 3.1.2 (Indexed Search).
H.C. Chen and Y. Asau (1974): On generating random variates from an empirical distribution. AIIE Trans. 6, pp.163–166.
ur
, uq
,
unuran.discr
,
unuran.new
,
unuran
.
## Create a sample of size 100 for a ## binomial distribution with size=115, prob=0.5 gen <- dgt.new(pv=dbinom(0:115,115,0.5),from=0) x <- ur(gen,100) ## Alternative approach distr <- udbinom(size=100,prob=0.3) gen <- dgtd.new(distr) x <- ur(gen,100)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.