urgamma: UNU.RAN Gamma random variate generator

urgammaR Documentation

UNU.RAN Gamma random variate generator

Description

UNU.RAN random variate generator for the Gamma distribution with parameters shape and scale. It also allows sampling from the truncated distribution.

[Special Generator] – Sampling Function: Gamma.

Usage

urgamma(n, shape, scale=1, lb=0, ub=Inf)

Arguments

n

size of required sample.

shape

(strictly positive) shape parameter.

scale

(strictly positive) scale parameter.

lb

lower bound of (truncated) distribution

ub

upper bound of (truncated) distribution

Details

If scale is omitted, it assumes the default value of 1.

The Gamma distribution with parameters shape = a and scale = s has density

f(x)= 1/(s^a Gamma(a)) x^(a-1) * exp(-x/s)

for x ≥ 0, a > 0 and s > 0. (Here Gamma(a) is the function implemented by R's gamma() and defined in its help.)

The generation algorithm uses fast numerical inversion. The parameters lb and ub can be used to generate variates from the Gamma distribution truncated to the interval (lb,ub).

Note

This function is a wrapper for the UNU.RAN class in R. Compared to rgamma, urgamma is faster, especially for larger sample sizes. However, in opposition to rgamma vector arguments are ignored, i.e. only the first entry is used.

Author(s)

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

References

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

See Also

runif and .Random.seed about random number generation, unuran for the UNU.RAN class, and rgamma for the R built-in generator.

Examples

## Create a sample of size 1000
x <- urgamma(n=1000,shape=2)

Runuran documentation built on Jan. 17, 2023, 5:17 p.m.