Learn R Programming

VGAM (version 0.9-3)

Posgeom: Positive-geometric Distribution

Description

Density, distribution function, quantile function and random generation for the positive-geometric distribution.

Usage

dposgeom(x, prob, log = FALSE)
pposgeom(q, prob)
qposgeom(p, prob)
rposgeom(n, prob)

Arguments

x, q
vector of quantiles.
p
vector of probabilities.
n
number of observations. Fed into runif.
prob
vector of probabilities of success (of an ordinary geometric distribution). Short vectors are recycled.
log
logical.

Value

  • dposgeom gives the density, pposgeom gives the distribution function, qposgeom gives the quantile function, and rposgeom generates random deviates.

Details

The positive-geometric distribution is a geometric distribution but with the probability of a zero being zero. The other probabilities are scaled to add to unity. The mean therefore is $1/prob$.

As $prob$ decreases, the positive-geometric and geometric distributions become more similar. Like similar functions for the geometric distribution, a zero value of prob is not permitted here.

See Also

zageometric, zigeometric, rgeom.

Examples

Run this code
prob <- 0.75; y = rposgeom(n = 1000, prob)
table(y)
mean(y)  # Sample mean
1 / prob  # Population mean

(ii <- dposgeom(0:7, prob))
cumsum(ii) - pposgeom(0:7, prob)  # Should be 0s
table(rposgeom(100, prob))

table(qposgeom(runif(1000), prob))
round(dposgeom(1:10, prob) * 1000)  # Should be similar

x <- 0:5
barplot(rbind(dposgeom(x, prob), dgeom(x, prob)),
        beside = TRUE, col = c("blue", "orange"),
        main = paste("Positive geometric(", prob, ") (blue) vs",
        " geometric(", prob, ") (orange)", sep = ""),
        names.arg = as.character(x), las = 1, lwd = 2)

Run the code above in your browser using DataLab