2012-03-25 12 views
5

Jestem całkowicie nowy dla SAS i jestem zdesperowany.
Tak, mój kod jest:Testy normalności w 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; 

mam problem z „Posłu- żono się jedno- Testy normalności jednej zmiennej” stole - zawiera zera. Moim życzeniem jest posiadanie tylko tabeli statystyk testów normalności dla każdej zmiennej w celu ich porównania, tak jak jest to zalecane (tj. here). Zaimplementowałem SAS macro, ale zawiera tylko jeden taki test. Proszę pomóż mi.

Odpowiedz

3

Jeśli chcesz tylko statystykę testu normalności w jednej tabeli dla wszystkich zmiennych, polecam stosując ODS.

np.

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; 
+0

cmjohns: wielkie dzięki! teraz mam połączone statystyki! ale wciąż jest wiele tabel ... – stan

+0

Jeszcze nie jedna tabela, ale tylko odpowiednie: 'PROC UNIVARIATE DATA = abc NORMALTEST; VAR AA BB CC DD EE; ODS EXCLUDE CIBASIC BASICMEASURES TESTSFORLOCATION EXTREMEOBS MODY MOMENTY QUANTILES; RUN; ' – stan

1

Wygląda na to, że potrzebna jest opcja NORMALNA w instrukcji PROC UNIVARIATE.

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

Nie powoduje to wykonania testu dla każdej zmiennej na test, ale jest to początek.

PROC UNIVARIATE Documentation

+0

Justin dzięki za wskazówki. Już sondowałem instrukcję. Przetestowałem twój kod - w mojej ręce nie dostarczyłem danych statystyk ... Chcę pominąć dane wyjściowe z wyjątkiem testów normalności dla każdej zmiennej, którą mam w swoim zbiorze danych. Jeszcze raz dziękuję – stan