polyaAeppli-package {polyaAeppli} | R Documentation |
Implementation of the Polya-Aeppli Distribution
Description
Functions for evaluating the mass density, cumulative distribution function, quantile function and random variate generation for the Polya-Aeppli distribution, also known as the geometric compound Poisson distribution.
More information on the implementation of polyaAeppli can be found at Conrad J. Burden (2014) <arXiv:1406.2780>.
Details
Package: | polyaAeppli |
Type: | Package |
Version: | 2.0.2 |
Depends: | R (>= 3.0.0) |
Date: | 2020-04-21 |
License: | GPL(>=2) |
Consistent with the conventions used in R package stats, this implementation of the Polya-Aeppli distribution comprises the four functions
dPolyaAeppli(x, lambda, prob, log = FALSE)
pPolyaAeppli(q, lambda, prob, lower.tail = TRUE, log.p = FALSE)
qPolyaAeppli(p, lambda, prob, lower.tail = TRUE, log.p = FALSE)
rPolyaAeppli(n, lambda, prob)
Author(s)
Conrad Burden
Maintainer: conrad.burden@anu.edu.au
References
Johnson NL, Kotz S, Kemp AW (1992). Univariate Discrete Distributions. 2nd edition. Wiley, New York.
Nuel G (2008). Cumulative distribution function of a geometeric Poisson distribution. Journal of Statistical Computation and Simulation, 78(3), 385-394.
Examples
lambda <- 8
prob <- 0.2
## Plot histogram of random sample
PAsample <- rPolyaAeppli(10000, lambda, prob)
maxPA <- max(PAsample)
hist(PAsample, breaks=(0:(maxPA + 1)) - 0.5, freq=FALSE,
xlab = "x", ylab = expression(P[X](x)), main="", border="blue")
## Add plot of density function
x <- 0:maxPA
points(x, dPolyaAeppli(x, lambda, prob), type="h", lwd=2)
lambda <- 4000
prob <- 0.005
qq <- 0:10000
## Plot log of the extreme lower tail p-value
log.pp <- pPolyaAeppli(qq, lambda, prob, log.p=TRUE)
plot(qq, log.pp, type = "l", ylim=c(-lambda,0),
xlab = "x", ylab = expression("log Pr(X " <= "x)"))
## Plot log of the extreme upper tail p-value
log.1minuspp <- pPolyaAeppli(qq, lambda, prob, log.p=TRUE, lower.tail=FALSE)
points(qq, log.1minuspp, type = "l", col = "red")
legend("topright", c("lower tail", "upper tail"),
col=c("black", "red"), lty=1, bg="white")