OPTIONS LINESIZE=75 PAGESIZE=54 NODATE PAGENO=1; dm "output;clear;log;clear"; ODS RTF File="C:\teaching\math593\ex9_5.doc"; ODS Listing Close; *goptions reset=all goutmode=replace; *GOptions NoPrompt Vsize=10 Hsize=10 Horigin=1.2 Vorigin=2.5 FText=SwissX FTitle=SwissX HText=1 HTitle=1; %Include "plotit.sas" / NoSource; TITLE 'EX9_5 - An Example using Multidimensional Scaling'; DATA CARS; INPUT #1 MAKE $ 1 - 9 MAKE_MOD $ 1 - 24 #2 PRICE ET $ HP TIM1 TIM2 TS BRAK1 BRAK2 SP SS MPG; CARDS; Acura NSX 68600 V-6 270 5.8 14.0 168 120 200 .87 62.3 18.0 Alfa Romeo 164 Quad 36690 V-6 230 7.6 15.8 150 150 268 0.77 59.3 17.5 Audi S4 43750 I-5t 227 6.5 15.0 130 147 246 0.83 60.0 16.0 Bentley Turbo R 174900 V-8t 315 7.1 15.5 128 147 253 0.73 56.8 11.5 BMW 850CSi 98500 V-12 372 5.9 14.4 155 135 220 0.89 62.0 13.0 Bugatti EB110 35000 V-12t 611 4.4 12.5 207 112 209 0.99 64.3 16.0 Buick Riviera 27632 V-6s 225 7.9 16.0 114 139 254 0.75 57.9 19.0 Cadillac Eldorado Touring Coupe 41535 V-8 300 7.2 15.3 150 138 249 0.78 61.7 16.0 Chevrolet Corvette ZR1 65318 V-8 375 5.6 13.9 178 142 256 0.91 63.6 19.0 Chrysler LHS 28254 V-6 214 9.1 16.8 112 153 275 0.73 55.0 19.0 Dinan M5 (BMW) 60700 I-6 382 5.6 14.1 160 122 216 0.87 63.1 14.0 Dodge Viper RT/10 50000 V-10 400 4.8 13.1 160 156 261 0.96 62.7 14.0 Ford Mustang Cobra 23535 V-8 240 6.9 15.3 140 130 236 0.87 61.1 18.0 Honda Prelude VTEC 24500 I-4 190 7.1 15.4 139 137 242 0.84 61.7 24.0 Infiniti Q45 44000 V-8 278 7.5 15.6 150 159 272 0.81 59.5 18.3 Jaguar XJR-S Coupe 73000 V-12 318 7.0 15.2 167 137 225 0.86 59.3 12.0 Lincoln Mark VIII 38800 V-8 280 7.6 15.8 130 137 248 0.77 59.9 17.0 Lotus Esprit Turbo 67345 I-4t 264 5.3 13.7 167 121 225 0.86 60.6 16.0 Mazda Millenia S 31400 V-6 210 8.0 16.1 142 151 269 0.80 59.8 21.1 Mercedes 600SEC 132000 V-12 389 6.6 14.8 155 125 240 0.75 54.6 13.5 Mercury Villager 21798 V-6 151 13.4 19.4 115 178 293 0.76 55.4 19.0 Mitsubishi 3000GT VR-4 40900 V-6t 320 5.7 14.2 159 122 218 0.86 63.7 16.3 Nissan 300ZX Turbo 39500 V-6t 300 6.0 14.4 155 124 279 0.88 63.0 18.7 Olsmobile Aurora 31995 V-8 250 8.6 16.5 135 131 244 0.81 57.3 18.0 Plymouth Grand Voyager LE 22883 V-6 162 10.7 17.8 112 161 285 0.68 51.4 15.0 Pontiac Firebird Formula 24279 V-8 275 6.7 15.1 150 123 279 0.85 60.4 18.0 Porsche 911 Turbo 3.6 99000 F-6t 355 4.5 12.9 174 126 223 0.91 61.6 15.0 Saab 9000 Aero 38235 I-4t 225 7.7 15.8 140 122 221 0.84 60.6 20.0 Saleen Mustang S-351 (Ford) 33500 V-8 370 5.9 14.3 170 125 226 0.97 64.1 15.0 Subaru SVX 25000 F-6 230 7.3 15.4 143 134 229 0.85 60.2 20.0 Toyota Supra Turbo 43900 I-6t 320 5.3 13.7 155 122 208 0.98 65.4 18.8 Vector W8 TwinTurbo 448000 V-8t 625 4.2 12.0 218 145 250 0.97 60.6 13.5 Volkswagen Corrado SLC 21840 V-6 178 6.9 15.5 139 154 257 0.86 61.0 23.0 Volvo 850 Turbo Sportswagon 30985 I-5t 222 7.4 15.5 155 130 245 0.80 61.2 23.5 PROC PRINT; TITLE2 'EX8_5 PERFORMANCE DATA ON CARS'; RUN; DATA CARS2; SET CARS;*IF MOD(_N_,5)=1; CHK=HP+TIM1+TIM2+TS+BRAK1+BRAK2+SP+SS+MPG; IF CHK=. THEN DELETE; DROP CHK; PROC PRINT DATA=CARS2; RUN; DATA CARS3; SET CARS2; DROP MAKE MAKE_MOD PRICE ET; DATA CARS4; SET CARS2; KEEP MAKE; PROC STANDARD DATA=CARS2 MEAN=0 STD=1 OUT=CARS2; VAR HP--MPG; RUN; DATA ONE; SET CARS2; I = _N_; KEEP HP--MPG I; DATA ORIG; SET ONE; DO J=1 TO 34; OUTPUT; END; DATA DUP; SET ORIG; II=J; JJ=I; I=II; J=JJ; DROP JJ II; Y1=HP; Y2=TIM1; Y3=TIM2; Y4=TS; Y5=BRAK1; Y6=BRAK2; Y7=SP; Y8=SS; Y9=MPG; NN = _N_; DROP HP--MPG; PROC SORT DATA=DUP; BY I J; **************************************************** * CREATED A DUPLICATE DATA SET BY CREATING DUMMY VARIABLES I AND J FOR MERGING SETS TO ALLOW US TO CALCULATE H , WHICH IS DISTANCE. ******************************************************; DATA COMB; MERGE ORIG DUP; BY I J; DROP I J; ****************************************************************** * CALCULATE H, THE DISTANCE BETWEEN ALL PAIRS OF POINTS *****************************************************************; *IF _N_ <= NN THEN DELETE; H = SQRT((HP-Y1)**2 + (TIM1-Y2)**2 +(TIM2-Y3)**2 + (TS-Y4)**2 +(BRAK1-Y5)**2 +(BRAK2-Y6)**2 +(SP-Y7)**2 +(SS-Y8)**2 +(MPG-Y9)**2); KEEP H; RUN; PROC IML; RESET NOLOG; USE COMB; READ ALL INTO DIST; USE CARS4; READ ALL VAR _CHAR_ INTO CARS; PRINT CARS; N=SQRT(NROW(DIST)); DD=SHAPE(DIST,N,N); *PRINT 'DISTANCE MATRIX = ',DD; CREATE DIST_DAT FROM DD[COLNAME=CARS]; APPEND FROM DD; QUIT; DATA FINAL; MERGE CARS4 DIST_DAT; RUN; PROC PRINT; TITLE3 'DISTANCES BETWEEN CAR MAKES'; RUN; PROC MDS DATA=FINAL OUT=OUT OUTRES=RES SHAPE=SQUARE; ID MAKE; TITLE3 'MDS Analyses and Plots'; RUN; %plotit(data=out, datatype=mds, labelvar=MAKE, vtoh=1.0, labfont=swissb,Monochro=Black); ODS Listing; ODS RTF Close;