# Multivariate Normality Tests with R – Mardia’s Test, Henze-Zirkler, Royston

Most multivariate techniques, such as Linear Discriminant Analysis (LDA), Factor Analysis, MANOVA and Multivariate Regression are based on an assumption of multivariate normality. So, In this post, I am going to show you how you can assess the multivariate normality for the variables in your sample. The above test multivariate techniques can be used in a sample only when the variables follow a Multivariate normal distribution.

For this, you need to install a package called MVN Type install.packages(“MVN”)and then load the package using R command library(“MVN”)

There are 3 different multivariate normality tests available in this package

1.Mardia’s Multivariate Normality Test

2.Henze-Zirkler’s Multivariate Normality Test

3.Royston’s Multivariate Normality Test

Let’s discuss these test in brief here, I am using inbuilt trees data here data(“trees”). This data consists of 3 variables I.e Girth, Height and volume.

First, we use Mardia’s test to verify the normality for the above data Type mardiaTest(trees) This will return the results of normality test with 3 variables in it. Data is not multivariate normal when the p-value is less than 0.05 .  When you want to check Multivariate normality of selected variables. Create a subset. Let’s create a subset under name trees1 that includes 1st and 3rd variables using the command

`Trees1<-trees[c(1,3)]`

Now let’s check normality of trees1 using Henze-Zirkler’s Test Type hzTest(trees1) .

To use Royston’s Multivariate Normality Test Type roystonTest(trees1). So, That is how you can test the multivariate normality of variables using R. Give your queries and suggestions in comment section below.  