# oipospoisUC: One-Inflated Positive Poisson Distribution In VGAMdata: Data Supporting the 'VGAM' Package

 Oipospois R Documentation

## One-Inflated Positive Poisson Distribution

### Description

Density, distribution function, quantile function and random generation for the one-inflated positive Poisson distribution with parameter pstr1.

### Usage

doipospois(x, lambda, pstr1 = 0, log = FALSE)
poipospois(q, lambda, pstr1 = 0)
qoipospois(p, lambda, pstr1 = 0)
roipospois(n, lambda, pstr1 = 0)


### Arguments

 x, p, q, n Same as Pospois. lambda Vector of positive means. pstr1 Probability of a structural one (i.e., ignoring the positive Poisson distribution), called \phi. The default value of \phi = 0 corresponds to the response having a positive Poisson distribution. log Logical. Return the logarithm of the answer?

### Details

The probability function of Y is 1 with probability \phi, and PosPoisson(\lambda) with probability 1-\phi. Thus

P(Y=1) =\phi + (1-\phi) P(W=1)

where W is distributed as a positive Poisson(\lambda) random variate.

### Value

doipospois gives the density, poipospois gives the distribution function, qoipospois gives the quantile function, and roipospois generates random deviates.

### Note

The argument pstr1 is recycled to the required length, and usually has values which lie in the interval [0,1].

These functions actually allow for the zero-deflated Poisson distribution. Here, pstr1 is also permitted to lie in the interval [-lambda / (expm1(lambda) - lambda), 0]. The resulting probability of a unit count is less than the nominal positive Poisson value, and the use of pstr1 to stand for the probability of a structural 1 loses its meaning. When pstr1 equals -lambda / (expm1(lambda) - lambda) this corresponds to the 0- and 1-truncated Poisson distribution.

### Author(s)

T. W. Yee

Pospois, oapospoisson, oipospoisson, otpospoisson, pospoisson, dpois, poissonff.

### Examples

lambda <- 3; pstr1 <- 0.2; x <- (-1):7
(ii <- doipospois(x, lambda, pstr1 = pstr1))
table(roipospois(100, lambda, pstr1 = pstr1))
round(doipospois(1:10, lambda, pstr1 = pstr1) * 100)  # Similar?

## Not run:  x <- 0:10
par(mfrow = c(2, 1))  # One-Inflated Positive Poisson
barplot(rbind(doipospois(x, lambda, pstr1 = pstr1),
dpospois(x, lambda)),
beside = TRUE, col = c("blue", "orange"),
main = paste0("OIPP(", lambda, ", pstr1 = ", pstr1,
") (blue) vs PosPoisson(", lambda, ") (orange)"),
names.arg = as.character(x))
# 0-deflated Pos Poisson:
deflat.limit <- -lambda / (expm1(lambda) - lambda)
newpstr1 <- round(deflat.limit, 3) + 0.001  # Near the boundary
barplot(rbind(doipospois(x, lambda, pstr1 = newpstr1),
dpospois(x, lambda)),
beside = TRUE, col = c("blue","orange"),
main = paste0("ODPP(", lambda, ", pstr1 = ", newpstr1,
") (blue) vs PosPoisson(", lambda, ") (orange)"),
names.arg = as.character(x))
## End(Not run)


VGAMdata documentation built on Sept. 18, 2023, 9:08 a.m.