rnormp: Pseudo-random numbers from an exponential power distribution

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/rnormp.R

Description

Generation of pseudo-random numbers from an exponential power distribution with location parameter mu, scale parameter sigmap and shape parameter p.

Usage

1
rnormp(n, mu = 0, sigmap = 1, p = 2, method = c("def", "chiodi"))

Arguments

n

Number of observations.

mu

Vector of location parameters.

sigmap

Vector of scale parameters.

p

Shape parameter.

method

If is set to the default method "def", it uses the method based on the transformation of a Gamma random variable. If set to "chiodi", it uses an algorithm based on a generalization of the Marsaglia formula to generate pseudo-random numbers from a normal distribution. The default method "def" is faster than the "chiodi" one (this one is introduced only for "historical" purposes).

Details

If mu, sigmap or p are not specified they assume the default values 0, 1 and 2, respectively. The exponential power distribution has density function

f(x) = 1/(2 p^(1/p) Gamma(1+1/p) sigmap) exp{-|x - mu|^p/(p sigmap^p)}

where mu is the location parameter, sigmap the scale parameter and p the shape parameter. When p=2 the exponential power distribution becomes the Normal Distribution, when p=1 the exponential power distribution becomes the Laplace Distribution, when p->infinity the exponential power distribution becomes the Uniform Distribution.

Value

rnormp gives a vector of n pseudo-random numbers from an exponential power distribution.

Author(s)

Angelo M. Mineo

References

Chiodi, M. (1986) Procedures for generating pseudo-random numbers from a normal distribution of order p (p>1), Statistica Applicata, 1, pp. 7-26.

Marsaglia, G. and Bray, T.A. (1964) A convenient method for generating normal variables, SIAM rev., 6, pp. 260-264.

See Also

Normal for the Normal distribution, Uniform for the Uniform distribution, Special for the Gamma function and .Random.seed for the random number generation.

Examples

1
2
3
4
## Generate a random sample x from an exponential power distribution
## At the end we have the histogram of x
x <- rnormp(1000, 1, 2, 1.5)
hist(x, main="Histogram of the random sample")

normalp documentation built on Feb. 14, 2020, 5:08 p.m.