mvrnonnorm {semTools} | R Documentation |
Generate Non-normal Data using Vale and Maurelli (1983) method
Description
Generate Non-normal Data using Vale and Maurelli (1983) method. The function
is designed to be as similar as the popular mvrnorm
function in the
MASS
package. The codes are copied from mvrnorm
function in
the MASS
package for argument checking and lavaan
package for
data generation using Vale and Maurelli (1983) method.
Usage
mvrnonnorm(n, mu, Sigma, skewness = NULL, kurtosis = NULL, empirical = FALSE)
Arguments
n |
Sample size |
mu |
A mean vector. If elements are named, those will be used as variable names in the returned data matrix. |
Sigma |
A positive-definite symmetric matrix specifying the covariance
matrix of the variables. If rows or columns are named (and |
skewness |
A vector of skewness of the variables |
kurtosis |
A vector of excessive kurtosis of the variables |
empirical |
If |
Value
A data matrix
Author(s)
The original function is the simulateData
function written by Yves Rosseel in the lavaan
package. The function
is adjusted for a convenient usage by Sunthud Pornprasertmanit
(psunthud@gmail.com). Terrence D. Jorgensen added the feature to
retain variable names from mu
or Sigma
.
References
Vale, C. D. & Maurelli, V. A. (1983). Simulating multivariate nonormal distributions. Psychometrika, 48(3), 465–471. doi:10.1007/BF02293687
Examples
set.seed(123)
mvrnonnorm(20, c(1, 2), matrix(c(10, 2, 2, 5), 2, 2),
skewness = c(5, 2), kurtosis = c(3, 3))
## again, with variable names specified in mu
set.seed(123)
mvrnonnorm(20, c(a = 1, b = 2), matrix(c(10, 2, 2, 5), 2, 2),
skewness = c(5, 2), kurtosis = c(3, 3))