SUBROUTINE MODAL(M, X, Y, XLAB, YLAB, PT, IXMX, IYMX, NBLOKS, * IWORK, WORK1, DMWRK2, WORK2, DMCWRK, CWORK, * OUNIT) C C<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> C C PURPOSE C ------- C C PRODUCES A BIVARIATE HISTOGRAM C C DESCRIPTION C ----------- C C 1. A CONTINGENCY TABLE OF SIZE IXMX BY IYMX IS CALCULATED BETWEEN C THE TWO VARIABLES. THEN THE ROUTINE DETERMINES THE BLOCK OF C THE TABLE WITH THE SMALLEST AREA WITH A GIVEN FREQUENCY. THIS C BLOCK IS ADDED TO THE BLOCK LIST AND DELETED FROM THE TABLE. C THE PROCESS IS REPEATED AND THE SMALLEST BLOCK OF THE NEW TABLE C WITH THE GIVEN FREQUENCY IS FOUND. THE ROUTINE STOPS WHEN THE C FREQUENCY OF THE ENTIRE TABLE IS LESS THAN THE GIVEN FREQUENCY. C C 2. THE RESULTS ARE PRINTED ON FORTRAN UNIT OUNIT. A RECTANGLE C ABOUT TWICE THE SIZE OF THE CONTINGENCY TABLE IS PRINTED, AND C THEN EACH BLOCK FROM SMALLEST TO LARGEST AREA IS ADDED TO THE C DIAGRAM. IF A BLOCK OVERLAPS AN EXISTING BLOCK, THE SYMBOLS OF C THE EXISTING BLOCK WILL BE RETAINED. THEREFORE, THE SMALLEST C BLOCKS WILL APPEAR COMPLETE. C C INPUT PARAMETERS C ---------------- C C M INTEGER SCALAR (UNCHANGED ON OUTPUT). C THE NUMBER OF CASES. C C X REAL VECTOR DIMENSIONED AT LEAST M (UNCHANGED ON OUTPUT). C THE VALUES OF THE CASES FOR THE FIRST VARIABLE. C C Y REAL VECTOR DIMENSIONED AT LEAST M (UNCHANGED ON OUTPUT). C THE VALUES OF THE CASES FOR THE SECOND VARIABLE. C C XLAB 4-CHARACTER VARIABLE (UNCHANGED ON OUTPUT). C THE LABEL OF THE FIRST VARIABLE. C C YLAB 4-CHARACTER VARIABLE (UNCHANGED ON OUTPUT). C THE LABEL OF THE SECOND VARIABLE. C C PT REAL SCALAR (UNCHANGED ON OUTPUT). C THE FREQUENCY THRESHOLD FOR EACH BLOCK. C C IXMX INTEGER SCALAR (UNCHANGED ON OUTPUT). C THE NUMBER OF ROWS IN THE CONTINGENCY TABLE. C C IYMX INTEGER SCALAR (UNCHANGED ON OUTPUT). C THE NUMBER OF COLUMNS IN THE CONTINGENCY TABLE. C C NBLOKS INTEGER SCALAR (UNCHANGED ON OUTPUT). C THE MAXIMUM NUMBER OF BLOCKS. C C IWORK INTEGER VECTOR DIMENSIONED AT LEAST 4*NBLOKS. C WORK VECTOR. C C WORK1 REAL VECTOR DIMENSIONED AT LEAST 3*NBLOKS. C WORK VECTOR. C C DMWRK2 INTEGER SCALAR (UNCHANGED ON OUTPUT). C THE FIRST DIMENSION OF THE MATRIX WORK2. MUST BE AT LEAST C IXMX. C C WORK2 REAL MATRIX WHOSE FIRST DIMENSION MUST BE DMWRK2 AND SECOND C DIMENSION MUST BE AT LEAST IYMX. C WORK MATRIX. C C DMCRWK INTEGER SCALAR (UNCHANGED ON OUTPUT). C THE FIRST DIMENSION OF THE MATRIX CWORK. MUST BE AT LEAST C IXMX+IYMX+1. C C CWORK MATRIX OF 1-CHARACTER VARIABLES WHOSE FIRST DIMENSION MUST BE C DMCWRK AND WHOSE SECOND DIMENSION MUST BE AT LEAST C IXMX+IYMX+1. C WORK MATRIX. C C OUNIT INTEGER SCALAR (UNCHANGED ON OUTPUT). C UNIT NUMBER FOR OUTPUT. C C REFERENCES C ---------- C C HARTIGAN, J. A. (1975). CLUSTERING ALGORITHMS, JOHN WILEY & C SONS, INC., NEW YORK. PAGES 40, 50-51. C C HARTIGAN, J. A. (1975) PRINTER GRAPHICS FOR CLUSTERING. JOURNAL OF C STATISTICAL COMPUTATION AND SIMULATION. VOLUME 4,PAGES 187-213. C C<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> C