options ls=80 ps=40; /* Fisher's Iris Data */ /* read data */ data iris; infile 'iris.dat' firstobs=2; input seplen sepwid petlen petwid species $; /* Multivariate ANalysis Of VAriance (MANOVA) includes univariate ANOVAs in output. Check partial correlations from printe option. Note that diagonals of H and E agree with SS from univariate ANOVAs. Find eigenvalues (characterist roots) and weights (eigenvectors). Check multivariate tests. */ proc glm; class species; model seplen sepwid petlen petwid = species / ss1; manova h=species / printe printh summary; means species / lsd lines; /* Stepwise Discriminant Analysis (DA) using PROC GLM (i.e. ANCOVA) Check F-test for species at each step. Succeeding step includes only most significant response from previous step. */ proc glm; class species; model seplen sepwid petlen petwid = species / ss1; proc glm; class species; model seplen sepwid petwid = petlen species / ss1; proc glm; class species; model petwid = petlen sepwid species / ss1; proc glm; class species; model seplen = petlen sepwid petwid species / ss1; /* Stepwise DA using PROC STEPDISC is in some sense a condensed form of separate ANCOVAs presented above. Note formal agreement of F-tests. */ proc stepdisc data=iris bsscp tsscp; class species; var seplen sepwid petlen petwid; /* Canonical DA using all responses. Find eigenvalues, canonical correlations (called Total Canonical Structure) and weights (called Raw Canonical Coefficients). */ proc candisc out=can distance anova; class species; var seplen sepwid petlen petwid; proc plot; /* plot of first two canonical variates */ plot can2*can1=species; /* Step-Down Analysis (e.g. ANCOVA) */ /* If we had a specific order, we could proceed as in the Stepwise DA using ANCOVA above. That is, ANOVA for first response, simple ANCOVA for second, ANCOVA with two responses for third, and so on. */