Non-normal data is everywhere. In order to test the influence of the non-normality on your model, you may what to generate some non-normal data first. The existing methods of generating multivariate non-normal data typically create data according to specific univariate marginal measures such as the univariate skewness and kurtosis, like the widely-used Vale and Maurelli's method[@vale83], but not multivariate measures such as Mardia’s skewness and kurtosis [@mardia70]. We create a new method of generating multivariate non-normal data with given multivariate skewness and kurtosis [@qu19].

The goal of mnonr package is to give you a simple and quick way to generate multivariate non-normal data with pre-specified multivariate measures (skewness and kurtosis).

The package consists of three functions:

- mnonr: a function that can generate multivariate data with pre-specified multivariate skewness and kurtosis;

- unonr: a function that can generate multivariate data with pre-specified marginal skewness and kurtosis;

- mardia: a function that can check univariate and multivariate skewness and kurtosis.

The functions are easy to use. As for mnonr, along with multivariate skewness and kurtosis, you can also specify sample size, number of variables, covariance matrix, and initial start values. The initial start values of a vector with 3 numbers for polynomial coefficients' (b,c,d) (the default setting is (0.9,0.4,0)) will yield different coefficient sets which could affect the multivariate skewness and kurtosis (more details are in the paper @qu19). We recommend that users should try with different start values in data simulation.

The unonr function is copied from mvrnonnorm function in the semTools package [@semtools].

The mardia can return the result of both marginal and multivariate skewness and kurtosis.

# Reference