|
| 1 | +/*----------------------------------------------------------------- |
| 2 | + S A S S A M P L E L I B R A R Y |
| 3 | + |
| 4 | + NAME: FASTEX1 |
| 5 | + TITLE: Example 1 for PROC FASTCLUS |
| 6 | + PRODUCT: STAT |
| 7 | + SYSTEM: ALL |
| 8 | + KEYS: cluster analysis, Fisher's Iris Data |
| 9 | + PROCS: FASTCLUS, FREQ, CANDISC, SGPLOT |
| 10 | + DATA: |
| 11 | + |
| 12 | + SUPPORT: sasrbk |
| 13 | + REF: PROC FASTCLUS, EXAMPLE 1. |
| 14 | + MISC: |
| 15 | +-----------------------------------------------------------------*/ |
| 16 | + |
| 17 | +proc format; |
| 18 | + value specname |
| 19 | + 1='Setosa ' |
| 20 | + 2='Versicolor' |
| 21 | + 3='Virginica '; |
| 22 | +run; |
| 23 | + |
| 24 | +data iris; |
| 25 | + title 'Fisher (1936) Iris Data'; |
| 26 | + input SepalLength SepalWidth PetalLength PetalWidth Species @@; |
| 27 | + format Species specname.; |
| 28 | + label SepalLength='Sepal Length in mm.' |
| 29 | + SepalWidth ='Sepal Width in mm.' |
| 30 | + PetalLength='Petal Length in mm.' |
| 31 | + PetalWidth ='Petal Width in mm.'; |
| 32 | + datalines; |
| 33 | +50 33 14 02 1 64 28 56 22 3 65 28 46 15 2 67 31 56 24 3 |
| 34 | +63 28 51 15 3 46 34 14 03 1 69 31 51 23 3 62 22 45 15 2 |
| 35 | +59 32 48 18 2 46 36 10 02 1 61 30 46 14 2 60 27 51 16 2 |
| 36 | +65 30 52 20 3 56 25 39 11 2 65 30 55 18 3 58 27 51 19 3 |
| 37 | +68 32 59 23 3 51 33 17 05 1 57 28 45 13 2 62 34 54 23 3 |
| 38 | +77 38 67 22 3 63 33 47 16 2 67 33 57 25 3 76 30 66 21 3 |
| 39 | +49 25 45 17 3 55 35 13 02 1 67 30 52 23 3 70 32 47 14 2 |
| 40 | +64 32 45 15 2 61 28 40 13 2 48 31 16 02 1 59 30 51 18 3 |
| 41 | +55 24 38 11 2 63 25 50 19 3 64 32 53 23 3 52 34 14 02 1 |
| 42 | +49 36 14 01 1 54 30 45 15 2 79 38 64 20 3 44 32 13 02 1 |
| 43 | +67 33 57 21 3 50 35 16 06 1 58 26 40 12 2 44 30 13 02 1 |
| 44 | +77 28 67 20 3 63 27 49 18 3 47 32 16 02 1 55 26 44 12 2 |
| 45 | +50 23 33 10 2 72 32 60 18 3 48 30 14 03 1 51 38 16 02 1 |
| 46 | +61 30 49 18 3 48 34 19 02 1 50 30 16 02 1 50 32 12 02 1 |
| 47 | +61 26 56 14 3 64 28 56 21 3 43 30 11 01 1 58 40 12 02 1 |
| 48 | +51 38 19 04 1 67 31 44 14 2 62 28 48 18 3 49 30 14 02 1 |
| 49 | +51 35 14 02 1 56 30 45 15 2 58 27 41 10 2 50 34 16 04 1 |
| 50 | +46 32 14 02 1 60 29 45 15 2 57 26 35 10 2 57 44 15 04 1 |
| 51 | +50 36 14 02 1 77 30 61 23 3 63 34 56 24 3 58 27 51 19 3 |
| 52 | +57 29 42 13 2 72 30 58 16 3 54 34 15 04 1 52 41 15 01 1 |
| 53 | +71 30 59 21 3 64 31 55 18 3 60 30 48 18 3 63 29 56 18 3 |
| 54 | +49 24 33 10 2 56 27 42 13 2 57 30 42 12 2 55 42 14 02 1 |
| 55 | +49 31 15 02 1 77 26 69 23 3 60 22 50 15 3 54 39 17 04 1 |
| 56 | +66 29 46 13 2 52 27 39 14 2 60 34 45 16 2 50 34 15 02 1 |
| 57 | +44 29 14 02 1 50 20 35 10 2 55 24 37 10 2 58 27 39 12 2 |
| 58 | +47 32 13 02 1 46 31 15 02 1 69 32 57 23 3 62 29 43 13 2 |
| 59 | +74 28 61 19 3 59 30 42 15 2 51 34 15 02 1 50 35 13 03 1 |
| 60 | +56 28 49 20 3 60 22 40 10 2 73 29 63 18 3 67 25 58 18 3 |
| 61 | +49 31 15 01 1 67 31 47 15 2 63 23 44 13 2 54 37 15 02 1 |
| 62 | +56 30 41 13 2 63 25 49 15 2 61 28 47 12 2 64 29 43 13 2 |
| 63 | +51 25 30 11 2 57 28 41 13 2 65 30 58 22 3 69 31 54 21 3 |
| 64 | +54 39 13 04 1 51 35 14 03 1 72 36 61 25 3 65 32 51 20 3 |
| 65 | +61 29 47 14 2 56 29 36 13 2 69 31 49 15 2 64 27 53 19 3 |
| 66 | +68 30 55 21 3 55 25 40 13 2 48 34 16 02 1 48 30 14 01 1 |
| 67 | +45 23 13 03 1 57 25 50 20 3 57 38 17 03 1 51 38 15 03 1 |
| 68 | +55 23 40 13 2 66 30 44 14 2 68 28 48 14 2 54 34 17 02 1 |
| 69 | +51 37 15 04 1 52 35 15 02 1 58 28 51 24 3 67 30 50 17 2 |
| 70 | +63 33 60 25 3 53 37 15 02 1 |
| 71 | +; |
| 72 | + |
| 73 | +proc fastclus data=iris maxc=2 maxiter=10 out=clus; |
| 74 | + var SepalLength SepalWidth PetalLength PetalWidth; |
| 75 | +run; |
| 76 | + |
| 77 | +proc freq; |
| 78 | + tables cluster*species; |
| 79 | +run; |
| 80 | + |
| 81 | +proc fastclus data=iris maxc=3 maxiter=10 out=clus; |
| 82 | + var SepalLength SepalWidth PetalLength PetalWidth; |
| 83 | +run; |
| 84 | + |
| 85 | +proc freq; |
| 86 | + tables cluster*Species; |
| 87 | +run; |
| 88 | + |
| 89 | +proc candisc anova out=can; |
| 90 | + class cluster; |
| 91 | + var SepalLength SepalWidth PetalLength PetalWidth; |
| 92 | + title2 'Canonical Discriminant Analysis of Iris Clusters'; |
| 93 | +run; |
| 94 | + |
| 95 | +proc sgplot data=Can; |
| 96 | + scatter y=Can2 x=Can1 / group=Cluster; |
| 97 | + title2 'Plot of Canonical Variables Identified by Cluster'; |
| 98 | +run; |
0 commit comments