# oilogUC: One-Inflated Logarithmic Distribution In VGAMdata: Data Supporting the 'VGAM' Package

 Oilog R Documentation

## One-Inflated Logarithmic Distribution

### Description

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

### Usage

doilog(x, shape, pstr1 = 0, log = FALSE)
poilog(q, shape, pstr1 = 0)
qoilog(p, shape, pstr1 = 0)
roilog(n, shape, pstr1 = 0)


### Arguments

 x, q, p, n Same as Uniform. shape Vector of parameters that lie in (0,1). pstr1 Probability of a structural one (i.e., ignoring the logarithmic distribution), called \phi. The default value of \phi = 0 corresponds to the response having an ordinary logarithmic distribution. log Same as Uniform.

### Details

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

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

where W is distributed as a Logarithmic(shape) random variable. The VGAM family function oilog estimates \phi by MLE.

### Value

doilog gives the density, poilog gives the distribution function, qoilog gives the quantile function, and roilog 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 logarithmic distribution. Here, pstr1 is also permitted to lie in the interval [-dlog(1, shape) / (1 - dlog(1, shape)), 0]. The resulting probability of a unit count is less than the nominal logarithmic value, and the use of pstr1 to stand for the probability of a structural 1 loses its meaning. When pstr1 equals -dlog(1, shape) / (1 - dlog(1, shape)) this corresponds to the 1-truncated logarithmic distribution.

### Author(s)

T. W. Yee

Gaitdlog, oilog, rlog, logff, Otlog.

### Examples

shape <- 0.5; pstr1 <- 0.3; x <- (-1):7
(ii <- doilog(x, shape, pstr1 = pstr1))
max(abs(poilog(1:200, shape) -
cumsum(shape^(1:200) / (-(1:200) * log1p(-shape)))))  # Should be 0

## Not run:  x <- 0:10
par(mfrow = c(2, 1))  # One-Inflated logarithmic
barplot(rbind(doilog(x, shape, pstr1 = pstr1), dlog(x, shape)),
beside = TRUE, col = c("blue", "orange"),
main = paste0("OILogff(", shape, ", pstr1 = ", pstr1,
") (blue) vs Logff(", shape, ") (orange)"),
names.arg = as.character(x))

deflat.limit <- -dlog(1, shape) / plog(1, shape, lower.tail = FALSE)
newpstr1 <- round(deflat.limit, 3) + 0.001  # Near the boundary
barplot(rbind(doilog(x, shape, pstr1 = newpstr1),
dlog(x, shape)),
beside = TRUE, col = c("blue","orange"),
main = paste0("ODLogff(", shape, ", pstr1 = ", newpstr1,
") (blue) vs Logff(", shape, ") (orange)"),
names.arg = as.character(x))
## End(Not run)


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