Learn R Programming

sn (version 0.30)

dmsn: Multivariate skew-normal distribution

Description

Probability density function, distribution function and random number generation for the multivariate skew-normal (MSN) distribution.

Usage

dmsn(x, xi=rep(0,k), Omega, alpha)
pmsn(x, xi=rep(0,k), Omega, alpha, ...)
rmsn(n=1, xi=rep(0,k), Omega, alpha)

Arguments

x
for dmsn, this is either a vector of length k or a matrix with k columns, where k is length(alpha), giving the coordinates of the point(s) where the density must be avaluated; for pm
Omega
a covariance matrix of dimension (k,k).
alpha
a numeric vector which regulates the shape of the density.
xi
a numeric vector of lenght k, or a matrix with k columns, representing the location parameter of the distribution. If xi is a matrix, its dimensions must agree with those of x.
n
a numeric value which represents the number of random vectors to be drawn.
...
additional parameters passed to pmvnorm

Value

  • A vector of density values (dmsn), or a single probability (pmsn) or a matrix of random points (rmsn).

Background

The multivariate skew-normal distribution is discussed by Azzalini and Dalla Valle (1996); the (Omega,alpha) parametrization adopted here is the one of Azzalini and Capitanio (1999).

Details

pmsn requires pmvnorm from library(mvtnorm) the accuracy of its computation can be controlled via use of ...

References

Azzalini, A. and Dalla Valle, A. (1996). The multivariate skew-normal distribution. Biometrika 83, 715--726.

Azzalini, A. and Capitanio, A. (1999). Statistical applications of the multivariate skew-normal distribution. J.Roy.Statist.Soc. B 61, 579--602.

See Also

dsn, msn.fit, msn.quantities, pmvnorm

Examples

Run this code
x <- seq(-3,3,length=15)
xi <- c(0.5, -1)
Omega <- diag(2)
Omega[2,1] <- Omega[1,2] <- 0.5
alpha <- c(2,2)
pdf <- dmsn(cbind(x,2*x-1), xi, Omega, alpha)
rnd <- rmsn(10,  xi, Omega, alpha)
library(mvtnorm)                        # only once in the session
cdf <- pmsn(c(2,1), xi, Omega, alpha)

Run the code above in your browser using DataLab