Online File

How to use this page


Rick Aster: Professional SAS Programming Shortcuts: Contents

Chapter 48
Program
Data step formulas for descriptive statistics


DATA _NULL_;
   RETAIN;
   SET A (KEEP=A) END=LAST;
   IF MIN = . THEN MIN = A;
   IF A <= .Z THEN NMISS + 1;
   ELSE DO;
      N + 1;
      SUM + A;
      USS + A*A;
      SC + A*A*A;
      SF + A*A*A*A;
      MIN = MIN MIN A;
      MAX = MAX MAX A;
      END;
   IF LAST THEN DO;
      IF N >= 1 THEN DO;
         RANGE = MAX - MIN;
         MEAN = SUM/N;
         CSS = USS - MEAN*SUM;
         END;
      IF N >>= 2 THEN DO;
         VAR = CSS/(N - 1);
         STD = SQRT(VAR);
         STDERR = SQRT(VAR/N);
         IF MEAN THEN CV = 100*STD/MEAN;
         IF STD THEN DO;
            IF N >= 3 THEN SKEWNESS =
                (SC - 3*MEAN*USS + 2*MEAN*MEAN*SUM)
                / (VAR*STD) * N/((N - 1)*(N - 2));
            IF N >= 4 THEN KURTOSIS = (SF - 4*MEAN*SC 
                + 6*MEAN*MEAN*USS - 3*MEAN*MEAN*MEAN*SUM)
                / (VAR*VAR) * N*(N + 1)/((N - 1)*(N - 2)*(N - 3))
                - 3*(N - 1)*(N - 1)/((N - 2)*(N - 3));
           T = MEAN/STDERR;
           PRT = 2*PROBT(-ABS(T), N - 1);
          END;
        END;
     PUT 'Descriptive Statistics Calculated In A Data Step' //
         N= / NMISS= / MIN= / MAX= / RANGE= /
         SUM= / MEAN= / USS= / CSS= / VAR= / STD= / STDERR= /
         CV= / SKEWNESS= / KURTOSIS= / T= / PRT= ;
      END;
RUN;

 O /\

Global
Statements

RICK ASTER

SAS

BOOKS

Tech | Dictionary

Download | Rastinate

Rick Aster

Professional SAS Programming Shortcuts

Contents/Online Files

Corrections

Catalog Page