/* **************************************** */ /* SAS Code for discriminant analysis */ /* **************************************** */ DATA satgrad; INPUT math reading writing gradu; cards; 460 370 480 1 530 540 530 0 600 610 410 1 610 630 520 1 480 680 540 1 450 800 630 1 430 570 400 1 430 460 440 1 580 340 620 1 600 600 460 1 370 370 420 0 590 410 620 0 620 470 500 0 380 480 380 0 370 470 410 0 290 400 460 1 390 360 570 1 680 690 520 1 470 650 640 1 560 700 640 1 570 460 520 1 380 480 400 1 620 540 490 1 510 520 390 1 540 410 510 1 590 630 660 0 560 540 510 1 480 510 450 1 350 680 370 1 480 450 520 1 540 580 480 1 480 540 440 1 490 570 460 1 440 470 310 0 530 550 440 1 470 600 550 0 520 250 450 1 310 380 420 1 480 580 470 1 340 280 340 0 ; run; PROC DISCRIM DATA=satgrad CANONICAL CROSSVALIDATE OUT=SatOut; CLASS gradu; VAR math reading writing; PROC PRINT DATA=SatOut; RUN; /* The first page of output indicates the count for each group (17 and 15) and the default priors (0.5 and 0.5). */ /* What is the estimated accuracy with plug-in misclassification rate? */ /* What is the estimated accuracy with cross-validation misclassification rate? */ /* Finally, the last set of pages give the observations' estimated probabilities of being in each group. */ /* To get the estimated values for the two new observations we could create */ /* a brief data set with those two values, and put it in for the TESTDATA argument. */ /* The PRIORS PROPORTIONAL uses the data proportions (the default was equal percentages for all groups). */ DATA newdata; INPUT math reading writing; cards; 300 420 280 510 480 470 780 760 710 ; PROC DISCRIM DATA=satgrad TESTDATA=newdata CANONICAL NOPRINT TESTOUT=SatTest; CLASS gradu; VAR math reading writing; PRIORS PROPORTIONAL; RUN; PROC PRINT DATA=SatTest; RUN; /*********************************************************************/ /* The code for discriminant analysis for the skulls data */ DATA skull; INPUT EPOCH $ MB BH BL NH; cards; c4000BC 131 138 89 49 c4000BC 125 131 92 48 c4000BC 131 132 99 50 c4000BC 119 132 96 44 c4000BC 136 143 100 54 c4000BC 138 137 89 56 c4000BC 139 130 108 48 c4000BC 125 136 93 48 c4000BC 131 134 102 51 c4000BC 134 134 99 51 c4000BC 129 138 95 50 c4000BC 134 121 95 53 c4000BC 126 129 109 51 c4000BC 132 136 100 50 c4000BC 141 140 100 51 c4000BC 131 134 97 54 c4000BC 135 137 103 50 c4000BC 132 133 93 53 c4000BC 139 136 96 50 c4000BC 132 131 101 49 c4000BC 126 133 102 51 c4000BC 135 135 103 47 c4000BC 134 124 93 53 c4000BC 128 134 103 50 c4000BC 130 130 104 49 c4000BC 138 135 100 55 c4000BC 128 132 93 53 c4000BC 127 129 106 48 c4000BC 131 136 114 54 c4000BC 124 138 101 46 c3300BC 124 138 101 48 c3300BC 133 134 97 48 c3300BC 138 134 98 45 c3300BC 148 129 104 51 c3300BC 126 124 95 45 c3300BC 135 136 98 52 c3300BC 132 145 100 54 c3300BC 133 130 102 48 c3300BC 131 134 96 50 c3300BC 133 125 94 46 c3300BC 133 136 103 53 c3300BC 131 139 98 51 c3300BC 131 136 99 56 c3300BC 138 134 98 49 c3300BC 130 136 104 53 c3300BC 131 128 98 45 c3300BC 138 129 107 53 c3300BC 123 131 101 51 c3300BC 130 129 105 47 c3300BC 134 130 93 54 c3300BC 137 136 106 49 c3300BC 126 131 100 48 c3300BC 135 136 97 52 c3300BC 129 126 91 50 c3300BC 134 139 101 49 c3300BC 131 134 90 53 c3300BC 132 130 104 50 c3300BC 130 132 93 52 c3300BC 135 132 98 54 c3300BC 130 128 101 51 c1850BC 137 141 96 52 c1850BC 129 133 93 47 c1850BC 132 138 87 48 c1850BC 130 134 106 50 c1850BC 134 134 96 45 c1850BC 140 133 98 50 c1850BC 138 138 95 47 c1850BC 136 145 99 55 c1850BC 136 131 92 46 c1850BC 126 136 95 56 c1850BC 137 129 100 53 c1850BC 137 139 97 50 c1850BC 136 126 101 50 c1850BC 137 133 90 49 c1850BC 129 142 104 47 c1850BC 135 138 102 55 c1850BC 129 135 92 50 c1850BC 134 125 90 60 c1850BC 138 134 96 51 c1850BC 136 135 94 53 c1850BC 132 130 91 52 c1850BC 133 131 100 50 c1850BC 138 137 94 51 c1850BC 130 127 99 45 c1850BC 136 133 91 49 c1850BC 134 123 95 52 c1850BC 136 137 101 54 c1850BC 133 131 96 49 c1850BC 138 133 100 55 c1850BC 138 133 91 46 c200BC 137 134 107 54 c200BC 141 128 95 53 c200BC 141 130 87 49 c200BC 135 131 99 51 c200BC 133 120 91 46 c200BC 131 135 90 50 c200BC 140 137 94 60 c200BC 139 130 90 48 c200BC 140 134 90 51 c200BC 138 140 100 52 c200BC 132 133 90 53 c200BC 134 134 97 54 c200BC 135 135 99 50 c200BC 133 136 95 52 c200BC 136 130 99 55 c200BC 134 137 93 52 c200BC 131 141 99 55 c200BC 129 135 95 47 c200BC 136 128 93 54 c200BC 131 125 88 48 c200BC 139 130 94 53 c200BC 144 124 86 50 c200BC 141 131 97 53 c200BC 130 131 98 53 c200BC 133 128 92 51 c200BC 138 126 97 54 c200BC 131 142 95 53 c200BC 136 138 94 55 c200BC 132 136 92 52 c200BC 135 130 100 51 cAD150 137 123 91 50 cAD150 136 131 95 49 cAD150 128 126 91 57 cAD150 130 134 92 52 cAD150 138 127 86 47 cAD150 126 138 101 52 cAD150 136 138 97 58 cAD150 126 126 92 45 cAD150 132 132 99 55 cAD150 139 135 92 54 cAD150 143 120 95 51 cAD150 141 136 101 54 cAD150 135 135 95 56 cAD150 137 134 93 53 cAD150 142 135 96 52 cAD150 139 134 95 47 cAD150 138 125 99 51 cAD150 137 135 96 54 cAD150 133 125 92 50 cAD150 145 129 89 47 cAD150 138 136 92 46 cAD150 131 129 97 44 cAD150 143 126 88 54 cAD150 134 124 91 55 cAD150 132 127 97 52 cAD150 137 125 85 57 cAD150 129 128 81 52 cAD150 140 135 103 48 cAD150 147 129 87 48 cAD150 136 133 97 51 ; run; PROC DISCRIM DATA=skull CANONICAL CROSSVALIDATE OUT=skullout; CLASS EPOCH; VAR MB BH BL NH; RUN; PROC PLOT DATA=skullout; PLOT can2*can1='*' $ EPOCH; RUN; /* ******************* */ /* SAS code for MANOVA */ /* ******************* */ DATA iris; INPUT ObsNo Sepal_L Sepal_W Petal_L Petal_W Species $; cards; 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa 4 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa 7 4.6 3.4 1.4 0.3 setosa 8 5.0 3.4 1.5 0.2 setosa 9 4.4 2.9 1.4 0.2 setosa 10 4.9 3.1 1.5 0.1 setosa 11 5.4 3.7 1.5 0.2 setosa 12 4.8 3.4 1.6 0.2 setosa 13 4.8 3.0 1.4 0.1 setosa 14 4.3 3.0 1.1 0.1 setosa 15 5.8 4.0 1.2 0.2 setosa 16 5.7 4.4 1.5 0.4 setosa 17 5.4 3.9 1.3 0.4 setosa 18 5.1 3.5 1.4 0.3 setosa 19 5.7 3.8 1.7 0.3 setosa 20 5.1 3.8 1.5 0.3 setosa 21 5.4 3.4 1.7 0.2 setosa 22 5.1 3.7 1.5 0.4 setosa 23 4.6 3.6 1.0 0.2 setosa 24 5.1 3.3 1.7 0.5 setosa 25 4.8 3.4 1.9 0.2 setosa 26 5.0 3.0 1.6 0.2 setosa 27 5.0 3.4 1.6 0.4 setosa 28 5.2 3.5 1.5 0.2 setosa 29 5.2 3.4 1.4 0.2 setosa 30 4.7 3.2 1.6 0.2 setosa 31 4.8 3.1 1.6 0.2 setosa 32 5.4 3.4 1.5 0.4 setosa 33 5.2 4.1 1.5 0.1 setosa 34 5.5 4.2 1.4 0.2 setosa 35 4.9 3.1 1.5 0.2 setosa 36 5.0 3.2 1.2 0.2 setosa 37 5.5 3.5 1.3 0.2 setosa 38 4.9 3.6 1.4 0.1 setosa 39 4.4 3.0 1.3 0.2 setosa 40 5.1 3.4 1.5 0.2 setosa 41 5.0 3.5 1.3 0.3 setosa 42 4.5 2.3 1.3 0.3 setosa 43 4.4 3.2 1.3 0.2 setosa 44 5.0 3.5 1.6 0.6 setosa 45 5.1 3.8 1.9 0.4 setosa 46 4.8 3.0 1.4 0.3 setosa 47 5.1 3.8 1.6 0.2 setosa 48 4.6 3.2 1.4 0.2 setosa 49 5.3 3.7 1.5 0.2 setosa 50 5.0 3.3 1.4 0.2 setosa 51 7.0 3.2 4.7 1.4 versicolor 52 6.4 3.2 4.5 1.5 versicolor 53 6.9 3.1 4.9 1.5 versicolor 54 5.5 2.3 4.0 1.3 versicolor 55 6.5 2.8 4.6 1.5 versicolor 56 5.7 2.8 4.5 1.3 versicolor 57 6.3 3.3 4.7 1.6 versicolor 58 4.9 2.4 3.3 1.0 versicolor 59 6.6 2.9 4.6 1.3 versicolor 60 5.2 2.7 3.9 1.4 versicolor 61 5.0 2.0 3.5 1.0 versicolor 62 5.9 3.0 4.2 1.5 versicolor 63 6.0 2.2 4.0 1.0 versicolor 64 6.1 2.9 4.7 1.4 versicolor 65 5.6 2.9 3.6 1.3 versicolor 66 6.7 3.1 4.4 1.4 versicolor 67 5.6 3.0 4.5 1.5 versicolor 68 5.8 2.7 4.1 1.0 versicolor 69 6.2 2.2 4.5 1.5 versicolor 70 5.6 2.5 3.9 1.1 versicolor 71 5.9 3.2 4.8 1.8 versicolor 72 6.1 2.8 4.0 1.3 versicolor 73 6.3 2.5 4.9 1.5 versicolor 74 6.1 2.8 4.7 1.2 versicolor 75 6.4 2.9 4.3 1.3 versicolor 76 6.6 3.0 4.4 1.4 versicolor 77 6.8 2.8 4.8 1.4 versicolor 78 6.7 3.0 5.0 1.7 versicolor 79 6.0 2.9 4.5 1.5 versicolor 80 5.7 2.6 3.5 1.0 versicolor 81 5.5 2.4 3.8 1.1 versicolor 82 5.5 2.4 3.7 1.0 versicolor 83 5.8 2.7 3.9 1.2 versicolor 84 6.0 2.7 5.1 1.6 versicolor 85 5.4 3.0 4.5 1.5 versicolor 86 6.0 3.4 4.5 1.6 versicolor 87 6.7 3.1 4.7 1.5 versicolor 88 6.3 2.3 4.4 1.3 versicolor 89 5.6 3.0 4.1 1.3 versicolor 90 5.5 2.5 4.0 1.3 versicolor 91 5.5 2.6 4.4 1.2 versicolor 92 6.1 3.0 4.6 1.4 versicolor 93 5.8 2.6 4.0 1.2 versicolor 94 5.0 2.3 3.3 1.0 versicolor 95 5.6 2.7 4.2 1.3 versicolor 96 5.7 3.0 4.2 1.2 versicolor 97 5.7 2.9 4.2 1.3 versicolor 98 6.2 2.9 4.3 1.3 versicolor 99 5.1 2.5 3.0 1.1 versicolor 100 5.7 2.8 4.1 1.3 versicolor 101 6.3 3.3 6.0 2.5 virginica 102 5.8 2.7 5.1 1.9 virginica 103 7.1 3.0 5.9 2.1 virginica 104 6.3 2.9 5.6 1.8 virginica 105 6.5 3.0 5.8 2.2 virginica 106 7.6 3.0 6.6 2.1 virginica 107 4.9 2.5 4.5 1.7 virginica 108 7.3 2.9 6.3 1.8 virginica 109 6.7 2.5 5.8 1.8 virginica 110 7.2 3.6 6.1 2.5 virginica 111 6.5 3.2 5.1 2.0 virginica 112 6.4 2.7 5.3 1.9 virginica 113 6.8 3.0 5.5 2.1 virginica 114 5.7 2.5 5.0 2.0 virginica 115 5.8 2.8 5.1 2.4 virginica 116 6.4 3.2 5.3 2.3 virginica 117 6.5 3.0 5.5 1.8 virginica 118 7.7 3.8 6.7 2.2 virginica 119 7.7 2.6 6.9 2.3 virginica 120 6.0 2.2 5.0 1.5 virginica 121 6.9 3.2 5.7 2.3 virginica 122 5.6 2.8 4.9 2.0 virginica 123 7.7 2.8 6.7 2.0 virginica 124 6.3 2.7 4.9 1.8 virginica 125 6.7 3.3 5.7 2.1 virginica 126 7.2 3.2 6.0 1.8 virginica 127 6.2 2.8 4.8 1.8 virginica 128 6.1 3.0 4.9 1.8 virginica 129 6.4 2.8 5.6 2.1 virginica 130 7.2 3.0 5.8 1.6 virginica 131 7.4 2.8 6.1 1.9 virginica 132 7.9 3.8 6.4 2.0 virginica 133 6.4 2.8 5.6 2.2 virginica 134 6.3 2.8 5.1 1.5 virginica 135 6.1 2.6 5.6 1.4 virginica 136 7.7 3.0 6.1 2.3 virginica 137 6.3 3.4 5.6 2.4 virginica 138 6.4 3.1 5.5 1.8 virginica 139 6.0 3.0 4.8 1.8 virginica 140 6.9 3.1 5.4 2.1 virginica 141 6.7 3.1 5.6 2.4 virginica 142 6.9 3.1 5.1 2.3 virginica 143 5.8 2.7 5.1 1.9 virginica 144 6.8 3.2 5.9 2.3 virginica 145 6.7 3.3 5.7 2.5 virginica 146 6.7 3.0 5.2 2.3 virginica 147 6.3 2.5 5.0 1.9 virginica 148 6.5 3.0 5.2 2.0 virginica 149 6.2 3.4 5.4 2.3 virginica 150 5.9 3.0 5.1 1.8 virginica ; run; PROC GLM DATA=iris; CLASS Species; MODEL Sepal_L Sepal_W Petal_L Petal_W = Species; MANOVA H=Species / PRINTH PRINTE; MEANS Species / BON CLDIFF; RUN;