mvrnonnorm: Generate Non-normal Data using Vale and Maurelli (1983)...

View source: R/mvrnonnorm.R

mvrnonnormR 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 mu is unnamed), those will be used as variable names in the returned data matrix.

skewness

A vector of skewness of the variables

kurtosis

A vector of excessive kurtosis of the variables

empirical

If TRUE, mu and Sigma specify the empirical rather than population mean and covariance matrix

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))


semTools documentation built on May 10, 2022, 9:05 a.m.