Learn R Programming

rotations (version 1.6)

Mises: The circular-von Mises distribution

Description

Density, distribution function and random generation for the circular-von Mises distribution with concentration kappa \(\kappa\).

Usage

dvmises(r, kappa = 1, nu = NULL, Haar = TRUE)

pvmises(q, kappa = 1, nu = NULL, lower.tail = TRUE)

rvmises(n, kappa = 1, nu = NULL)

Arguments

r, q

vector of quantiles

kappa

concentration parameter.

nu

circular variance, can be used in place of kappa.

Haar

logical; if TRUE density is evaluated with respect to the Haar measure.

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.

Value

dvmises

gives the density

pvmises

gives the distribution function

rvmises

generates random deviates

Details

The circular von Mises distribution with concentration \(\kappa\) has density $$C_\mathrm{M}(r|\kappa)=\frac{1}{2\pi \mathrm{I_0}(\kappa)}e^{\kappa cos(r)}.$$ where \(\mathrm{I_0}(\kappa)\) is the modified Bessel function of order 0.

See Also

Angular-distributions for other distributions in the rotations package.

Examples

Run this code
# NOT RUN {
r <- seq(-pi, pi, length = 500)

#Visualize the von Mises density fucntion with respect to the Haar measure
plot(r, dvmises(r, kappa = 10), type = "l", ylab = "f(r)", ylim = c(0, 100))

#Visualize the von Mises density fucntion with respect to the Lebesgue measure
plot(r, dvmises(r, kappa = 10, Haar = FALSE), type = "l", ylab = "f(r)")

#Plot the von Mises CDF
plot(r,pvmises(r,kappa = 10), type = "l", ylab = "F(r)")

#Generate random observations from von Mises distribution
rs <- rvmises(20, kappa = 1)
hist(rs, breaks = 10)
# }

Run the code above in your browser using DataLab