Mixture of normal distributions
Density, distribution function and random generation for the mixture of normal distributions.
dmixnorm(x, mean, sd, alpha, log = FALSE) pmixnorm(q, mean, sd, alpha, lower.tail = TRUE, log.p = FALSE) rmixnorm(n, mean, sd, alpha)
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 P[X ≤ x] otherwise, P[X > x]. |
n |
number of observations. If |
p |
vector of probabilities. |
Probability density function
f(x) = α[1] * f1(x; μ[1], σ[1]) + … + α[k] * fk(x; μ[k], σ[k])
Cumulative distribution function
F(x) = α[1] * F1(x; μ[1], σ[1]) + … + α[k] * Fk(x; μ[k], σ[k])
where sum(α[i]) == 1.
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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.