Learn R Programming

BAMBI (version 2.3.5)

rwnorm: The univariate Wrapped Normal distribution

Description

The univariate Wrapped Normal distribution

Usage

rwnorm(n = 1, kappa = 1, mu = 0)

dwnorm(x, kappa = 1, mu = 0, int.displ, log = FALSE)

Value

dwnorm gives the density and rwnorm generates random deviates.

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 concentration (inverse-variance) parameters; kappa > 0.

mu

vector of means.

x

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

int.displ

integer displacement. If int.displ = M, then the infinite sum in the density is approximated by a sum over 2*M + 1 elements. (See Details.) The allowed values are 1, 2, 3, 4 and 5. Default is 3.

log

logical. Should the log density be returned instead?

Details

If mu and kappa are not specified they assume the default values of 0 and 1 respectively.

The univariate wrapped normal distribution has density $$f(x) = \sqrt(\kappa/(2\pi)) \sum \exp(-\kappa/2 (x - \mu(2\pi\omega))^2)$$ where the sum extends over all integers \(\omega\), and is approximated by a sum over \(\omega\) in \(\{-M, -M+1, ..., M-1, M \}\) if int.displ = \(M\).

Examples

Run this code

kappa <- 1:3
mu <- 0:2
x <- 1:10
n <- 10


# when x and both parameters are scalars, dwnorm returns a single density
dwnorm(x[1], kappa[1], mu[1])

# when x is a vector but both the parameters are scalars, dmv returns a vector of
# densities calculated at each entry of x with the same parameters
dwnorm(x, kappa[1], mu[1])

# if x is scalar and at least one of the two paraemters is a vector, both parameters are
# recycled to the same length, and dwnorm returns a vector of with ith element being the
# density evaluated at x with parameter values kappa[i] and mu[i]
dwnorm(x[1], kappa, mu)

# if x and at least one of the two paraemters is a vector, x and the two parameters are
# recycled to the same length, and dwnorm returns a vector of with ith element being the
# density at ith element of the (recycled) x with parameter values kappa[i] and mu[i]
dwnorm(x, kappa, mu)

# when parameters are all scalars, number of observations generated by rwnorm is n
rwnorm(n, kappa[1], mu[1])

# when at least one of the two parameters is a vector, both are recycled to the same length,
# n is ignored, and the number of observations generated by rwnorm is the same as the length
# of the recycled vectors
rwnorm(n, kappa, mu)

Run the code above in your browser using DataLab