Probability density function, distribution function and random number generation for the multivariate skew-\(t\) (ST) and skew-Cauchy (SC) distributions.
dmst(x, xi=rep(0,length(alpha)), Omega, alpha, nu=Inf, dp=NULL, log=FALSE)
pmst(x, xi=rep(0,length(alpha)), Omega, alpha, nu=Inf, dp=NULL, ...)
rmst(n=1, xi=rep(0,length(alpha)), Omega, alpha, nu=Inf, dp=NULL)
dmsc(x, xi=rep(0,length(alpha)), Omega, alpha, dp=NULL, log=FALSE)
pmsc(x, xi=rep(0,length(alpha)), Omega, alpha, dp=NULL, ...)
rmsc(n=1, xi=rep(0,length(alpha)), Omega, alpha, dp=NULL)A vector of density values (dmst and dmsc) or a single
   probability (pmst and pmsc) or a matrix of random points
   (rmst and rmsc).
for dmst and dmsc, this is either a vector of length
   d, where d=length(alpha), or a matrix with d columns,
   representing the coordinates of the point(s) where the density must be
   avaluated; for pmst and pmsc, only a vector of length
   d is allowed.
a numeric vector of length d representing the 
   location parameter of the distribution; see ‘Background’.
   In a call to dmst or dmsc, xi can be a matrix,
   whose rows represent a set of location parameters; 
   in this case, its dimensions must match those of x.
a symmetric positive-definite matrix of dimension (d,d); 
   see Section ‘Background’.
a numeric vector of length d which regulates the slant
   of the density; see Section ‘Background’.
   Inf values in alpha are not allowed.
a positive value representing the degrees of freedom of
   ST distribution; does not need to be integer. 
   Default value is nu=Inf which corresponds to the multivariate
   skew-normal distribution.
a list with three elements named xi, Omega,
  alpha and nu, containing quantities as described above. If
  dp is specified, this prevents specification of the individual
  parameters.
a numeric value which represents the number of random vectors to be
  drawn; default value is 1.
logical (default value: FALSE); if TRUE,
  log-densities are returned.
additional parameters passed to pmt.
The family of multivariate ST distributions is an extension of the 
multivariate Student's \(t\) family, via the introduction of a alpha 
parameter which regulates asymmetry; when alpha=0, the skew-\(t\)
distribution reduces to the commonly used form of multivariate Student's 
\(t\).  Further,  location is regulated by xi and scale by 
Omega, when its diagonal terms are not all 1's.
When nu=Inf the distribution reduces to the multivariate skew-normal 
one; see dmsn. Notice that the location vector xi
does not represent the mean vector of the distribution (which in fact
may not even exist if nu <= 1), and similarly Omega is not 
the covariance matrix of the distribution, although it is a 
covariance matrix. 
For additional information, see Section 6.2 of the reference below.
The family of multivariate SC distributions is the subset of the
ST family, obtained when nu=1. While in the univariate case
there are specialized functions for the SC distribution,
dmsc, pmsc and rmsc simply make a call to dmst,
pmst, rmst with argument nu set equal to 1.
Typical usages are
dmst(x, xi=rep(0,length(alpha)), Omega, alpha, nu=Inf, log=FALSE)
dmst(x, dp=, log=FALSE)
pmst(x, xi=rep(0,length(alpha)), Omega, alpha, nu=Inf, ...)
pmst(x, dp=, ...)
rmst(n=1, xi=rep(0,length(alpha)), Omega, alpha, nu=Inf)
rmst(n=1, dp=)
dmsc(x, xi=rep(0,length(alpha)), Omega, alpha, log=FALSE)
dmsc(x, dp=, log=FALSE)
pmsc(x, xi=rep(0,length(alpha)), Omega, alpha, ...)
pmsc(x, dp=, ...)
rmsc(n=1, xi=rep(0,length(alpha)), Omega, alpha)
rmsc(n=1, dp=)
For efficiency reasons, rmst, rmsc make very limited checks on the 
validity of the arguments. For instance, failure to positive definiteness 
of Omega would not be detected, and an uncontrolled crash occurs.
Function pmst requires dmt from package 
mnormt; the accuracy of its computation can be controlled via 
argument ....
Azzalini, A. with the collaboration of Capitanio, A. (2014). The Skew-Normal and Related Families. Cambridge University Press, IMS Monograph series.
dst,  dsc, dmsn, 
dmt, makeSECdistr
x <- seq(-4,4,length=15)
xi <- c(0.5, -1)
Omega <- diag(2)
Omega[2,1] <- Omega[1,2] <- 0.5
alpha <- c(2,2)
pdf <- dmst(cbind(x,2*x-1), xi, Omega, alpha, 5)
rnd <- rmst(10,  xi, Omega, alpha, 6)
p1 <- pmst(c(2,1), xi, Omega, alpha, nu=5)
p2 <- pmst(c(2,1), xi, Omega, alpha, nu=5, abseps=1e-12, maxpts=10000)
Run the code above in your browser using DataLab