OPTIONS LS=64 PS=60 NONUMBER NODATE; TITLE 'HYPERGEOMETRIC DISTRIBUTION -- N=100 M=1 to 14'; DATA HYPER; AB = 5; *** SAMPLE SIZE ; N = 100; *** POPULATION TOTAL ; DO M = 1 TO 14; *** GROUP 1 TOTAL ; NM = N-M; *** GROUP 2 TOTAL ; RETAIN TMP 0 ; TMP = 0; _MAX = MAX(0,AB-NM); *** LOWER BOUND FOR X; _MIN = MIN(M,AB); *** UPPER BOUND FOR X; DO X = _MAX TO _MIN; CUM_LEFT = PROBHYPR(N,M,AB,X); IF X = _MAX THEN CUM_RGHT = 1; ELSE CUM_RGHT = 1-PROBHYPR(N,M,AB,X-1); PROB = CUM_LEFT - TMP; TMP = CUM_LEFT; OUTPUT; END; END; PROC PRINT DATA=HYPER; ID N M NM AB; VAR X PROB CUM_LEFT CUM_RGHT; FORMAT PROB 11.10 CUM_LEFT 11.10 CUM_RGHT 11.10; RUN;