| NormalMix {extraDistr} | R Documentation | 
Mixture of normal distributions
Description
Density, distribution function and random generation for the mixture of normal distributions.
Usage
dmixnorm(x, mean, sd, alpha, log = FALSE)
pmixnorm(q, mean, sd, alpha, lower.tail = TRUE, log.p = FALSE)
rmixnorm(n, mean, sd, alpha)
Arguments
x, q | 
 vector of quantiles.  | 
mean | 
 matrix (or vector) of means.  | 
sd | 
 matrix (or vector) of standard deviations.  | 
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   | 
n | 
 number of observations. If   | 
p | 
 vector of probabilities.  | 
Details
Probability density function
f(x) = \alpha_1 f_1(x; \mu_1, \sigma_1) + \dots + \alpha_k f_k(x; \mu_k, \sigma_k)
Cumulative distribution function
F(x) = \alpha_1 F_1(x; \mu_1, \sigma_1) + \dots + \alpha_k F_k(x; \mu_k, \sigma_k)
where \sum_i \alpha_i = 1.
Examples
x <- rmixnorm(1e5, c(0.5, 3, 6), c(3, 1, 1), c(1/3, 1/3, 1/3))
hist(x, 100, freq = FALSE)
curve(dmixnorm(x, c(0.5, 3, 6), c(3, 1, 1), c(1/3, 1/3, 1/3)),
      -20, 20, n = 500, col = "red", add = TRUE)
hist(pmixnorm(x, c(0.5, 3, 6), c(3, 1, 1), c(1/3, 1/3, 1/3)))
plot(ecdf(x))
curve(pmixnorm(x, c(0.5, 3, 6), c(3, 1, 1), c(1/3, 1/3, 1/3)),
      -20, 20, n = 500, col = "red", lwd = 2, add = TRUE)