In most of the statistical tests, you need check assumption of normality. There is a test called Shapiro-Wilk W test that can be used to check normal distribution. If the p-value is greater than .05, it means we cannot reject the null hypothesis that a variable is normally distributed.

## SAS Macro for Normality

The following SAS macro performs a test for normality on the variables X1 and X2 in the dataset "test". It uses the Shapiro-Wilk test and assigns a "Normal" or "Non-normal" status to each variable based on the p-value of the test.

/************************************************* *input = dataset to check; *vars = Specify variable(s) for which you want to check normality; *output = dataset to output with normality status; **************************************************/ %macro normal(input=, vars=, output=); ods output TestsForNormality = Normal; proc univariate data = &input normal; var &vars; run; ods output close; data &output; set Normal ( where = (Test = 'Shapiro-Wilk')); if pValue > 0.05 then Status ="Normal"; else Status = "Non-normal"; drop TestLab Stat pType pSign; run; %mend; %normal(input=test, vars=X1 X2, output=Normality);

Share Share Tweet