SAS中的正态性测试

时间:2012-03-25 15:10:48

标签: sas

我对SAS很陌生,我很绝望 所以,我的代码是:

DATA abc;
INPUT AA BB CC DD EE;
CARDS;

;
RUN;  

PROC PRINT DATA = abc;  
TITLE "My_Data";  
RUN;

PROC UNIVARIATE DATA = abc OUTTABLE = Table NOPRINT;  
VAR AA BB CC DD EE;  
RUN;

PROC PRINT DATA = Table LABEL NOOBS;  
TITLE "Univariate Normality Tests per Variable";  
VAR _VAR_ _NORMAL_ _PROBN_;  
LABEL _VAR_ = 'VARIABLE';  
RUN;

我对“每个变量的单变量常态测试”表有疑问 - 它包含零。 我希望只有一个正常性测试表,每个变量都要对它们进行比较(即here)。我已经实现了SAS macro,但它只包含一个这样的测试。求你帮帮我。

2 个答案:

答案 0 :(得分:3)

如果您只想在所有变量的一个表中使用Normality测试统计数据,我建议使用ODS。

e.g。

ods listing close;
ods output TestsForNormality=NormaliltyTest;
PROC UNIVARIATE DATA = abc normal;  
VAR AA BB CC DD EE;  
RUN;

ods listing;
PROC PRINT DATA = NormaliltyTest LABEL NOOBS;  
TITLE "Univariate Normality Tests per Variable";  
RUN;

答案 1 :(得分:1)

您似乎需要PROC UNIVARIATE语句中的NORMAL选项。

PROC UNIVARIATE DATA = abc OUTTABLE = Table NORMAL NOPRINT;  
VAR AA BB CC DD EE;  
RUN;

这不会为每个测试输出每个变量的测试,但它是一个开始。

PROC UNIVARIATE Documentation