Learn R Programming

extraDistr (version 1.9.1)

PoissonMix: Mixture of Poisson distributions

Description

Density, distribution function and random generation for the mixture of Poisson distributions.

Usage

dmixpois(x, lambda, alpha, log = FALSE)

pmixpois(q, lambda, alpha, lower.tail = TRUE, log.p = FALSE)

rmixpois(n, lambda, alpha)

Arguments

x, q

vector of quantiles.

lambda

matrix (or vector) of (non-negative) means.

alpha

matrix (or vector) of mixing proportions; mixing proportions need to sum up to 1.

log, log.p

logical; if TRUE, probabilities p are given as log(p).

lower.tail

logical; if TRUE (default), probabilities are \(P[X \le x]\) otherwise, \(P[X > x]\).

n

number of observations. If length(n) > 1, the length is taken to be the number required.

p

vector of probabilities.

Details

Probability density function $$ f(x) = \alpha_1 f_1(x; \lambda_1) + \dots + \alpha_k f_k(x; \lambda_k) $$

Cumulative distribution function $$ F(x) = \alpha_1 F_1(x; \lambda_1) + \dots + \alpha_k F_k(x; \lambda_k) $$

where \(\sum_i \alpha_i = 1\).

Examples

Run this code

x <- rmixpois(1e5, c(5, 12, 19), c(1/3, 1/3, 1/3))
xx <- seq(-1, 50)
plot(prop.table(table(x)))
lines(xx, dmixpois(xx, c(5, 12, 19), c(1/3, 1/3, 1/3)), col = "red")
hist(pmixpois(x, c(5, 12, 19), c(1/3, 1/3, 1/3)))

xx <- seq(0, 50, by = 0.01)
plot(ecdf(x))
lines(xx, pmixpois(xx, c(5, 12, 19), c(1/3, 1/3, 1/3)), col = "red", lwd = 2)

Run the code above in your browser using DataLab