Learn R Programming

BAMBI (version 2.3.5)

rvmmix: The univariate von Mises mixtures

Description

The univariate von Mises mixtures

Usage

rvmmix(n, kappa, mu, pmix)

dvmmix(x, kappa, mu, pmix, log = FALSE)

Value

dvmmix computes the density and rvmmix generates random deviates from the mixture density.

Arguments

n

number of observations. Ignored if at least one of the other parameters have length k > 1, in which case, all the parameters are recycled to length k to produce k random variates.

kappa

vector of component concentration (inverse-variance) parameters, kappa > 0.

mu

vector of component means.

pmix

vector of mixing proportions.

x

vector of angles (in radians) where the densities are to be evaluated.

log

logical. Should the log density be returned instead?

Details

pmix, mu and kappa must be of the same length, with \(j\)-th element corresponding to the \(j\)-th component of the mixture distribution.

The univariate von Mises mixture distribution with component size K = length(pmix) has density $$g(x) = p[1] * f(x; \kappa[1], \mu[1]) + ... + p[K] * f(x; \kappa[K], \mu[K])$$ where \(p[j], \kappa[j], \mu[j]\) respectively denote the mixing proportion, concentration parameter and the mean parameter for the \(j\)-th component and \(f(. ; \kappa, \mu)\) denotes the density function of the (univariate) von Mises distribution with mean parameter \(\mu\) and concentration parameter \(\kappa\).

Examples

Run this code
kappa <- 1:3
mu <- 0:2
pmix <- c(0.3, 0.3, 0.4)
x <- 1:10
n <- 10

# mixture densities calculated at each point in x
dvmmix(x, kappa, mu, pmix)

# number of observations generated from the mixture distribution is n
rvmmix(n, kappa, mu, pmix)

Run the code above in your browser using DataLab