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
/*************************************************
*input = dataset to check;
*vars = Specify variable(s) for which you want to check normality;
*output = dataset to output with normality status;
**************************************************/
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);
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);
Thank you for posting very useful tips! I found your website perfect for my needs.I always like your article because you have provide every time informative post..Thanks!
ReplyDeleteThanks for every other fantastic post. Where else could anybody get that type of information in such a perfect method of writing?
ReplyDelete