Graphical Scatter Plots With Optimal Label Placement
/****************************************************************/
/* S A S S A M P L E L I B R A R Y */
/* */
/* NAME: PLOTITEX */
/* TITLE: Graphical Scatter Plots With Optimal Label Placement*/
/* Illustrations of the PLOTIT macro. */
/* PRODUCT: STAT */
/* SYSTEM: ALL */
/* KEYS: graphs */
/* PROCS: */
/* DATA: */
/* */
/* SUPPORT: saswfk UPDATE: 20Apr2004 */
/* REF: Experimental Design and Choice Modeling Macros, */
/* Graphical Scatter Plots of Labeled Points, */
/* Graphical Methods for Marketing Research */
/* all available on the web at: */
/* http://support.sas.com/techsup/tnote/tnote_stat.html#market */
/* MISC: SAS/GRAPH software must be licensed. */
/* The macro PLOTTIT is in the autocall library. */
/* */
/* If your site has installed the autocall libraries */
/* supplied by SAS Institute and uses the standard */
/* configuration of SAS software supplied by the */
/* Institute, you need only to ensure that the SAS */
/* system option MAUTOSOURCE is in effect to begin */
/* using the autocall macros. For more information */
/* about autocall libraries, refer to SAS Macro */
/* Language: Reference. */
/* */
/* This sample shows macro usage. See DISCRIM, */
/* CANDISC, CORRESP, PRINQUAL, and TRANSREG samples */
/* for more examples of macro usage. */
/****************************************************************/
options gstyle;
ods listing style=statistical;
%let cback = cxFFFFFF;
****************************************************************
* Title: Multidimensional Preference Analysis Of Cars Data *
****************************************************************;
title 'Preference Ratings for Automobiles Manufactured in 1980';
data carpref;
length model $ 20;
input Make $ 1-10 Model $ 12-22 @25 (Judge1-Judge25) (1.)
MPG Reliable Ride;
label mpg = 'Miles per gallon'
reliable = 'Reliability'
ride = 'Ride';
datalines;
Cadillac Eldorado 8007990491240508971093809 3 2 4
Chevrolet Chevette 0051200423451043003515698 5 3 2
Chevrolet Citation 4053305814161643544747795 4 1 5
Chevrolet Malibu 6027400723121345545668658 3 3 4
Ford Fairmont 2024006715021443530648655 3 3 4
Ford Mustang 5007197705021101850657555 3 2 2
Ford Pinto 0021000303030201500514078 4 1 1
Honda Accord 5956897609699952998975078 5 5 3
Honda Civic 4836709507488852567765075 5 5 3
Lincoln Continental 7008990592230409962091909 2 4 5
Plymouth Gran Fury 7006000434101107333458708 2 1 5
Plymouth Horizon 3005005635461302444675655 4 3 3
Plymouth Volare 4005003614021602754476555 2 1 3
Pontiac Firebird 0107895613201206958265907 1 1 5
Volkswagen Dasher 4858696508877795377895000 5 3 4
Volkswagen Rabbit 4858509709695795487885000 5 4 3
Volvo DL 9989998909999987989919000 4 5 5
;
proc prinqual data=carpref out=results n=2 replace mdpref;
id model;
transform ide(judge1-judge25);
title2 'Multidimensional Preference (MDPREF) Analysis';
run;
data results;
set results;
if _type_ = 'CORR' then model = substr(model,6);
run;
%plotit(data=results, datatype=mdpref 2.5)
%plotit(data=results, datatype=mdpref2 2.5)
****************************************************************
* Title: Preference Mapping Of The Cars Data Set *
****************************************************************;
*---Compute Coordinates for a 2-Dimensional Scatterplot of Cars---;
proc prinqual data=carpref out=presults(drop=judge1-judge25) n=2
replace standard scores;
id model mpg reliable ride;
transform ide(judge1-judge25);
title2 'Multidimensional Preference (MDPREF) Analysis';
title3 'Optimal Monotonic Transformation of Preference Data';
run;
*---Compute Endpoints for MPG, Reliability, Ride Vectors---;
proc transreg data=presults;
model ide(mpg reliable ride)=identity(prin1 prin2);
output tstandard=center coefficients replace out=tresult1;
id model;
title2 'Preference Mapping (PREFMAP) Analysis';
run;
%plotit(data=tresult1, datatype=vector 2.5)
*---Compute Ideal Points for MPG and Reliability---;
proc transreg data=presults;
model identity(mpg reliable ride)=point(prin1 prin2);
output tstandard=center coordinates replace out=tresult1;
id model;
title2 'Preference Mapping (PREFMAP) Analysis';
run;
%plotit(data=tresult1, datatype=ideal, antiidea=1)
****************************************************************
* Title: Preference Ratings For Automobiles Manufactured In *
* Ref: Proc Prinqual, Example 1. *
****************************************************************;
*---Principal Component Analysis of the Original Data---;
proc factor data=carpref nfactors=2 plot=scree;
var judge1-judge25;
title2 'Principal Components of Original Data';
run;
proc prinqual data=carpref out=results n=2 replace mdpref;
id model;
transform monotone(judge1-judge25);
title2 'Multidimensional Preference (MDPREF) Analysis';
title3 'Optimal Monotonic Transformation of Preference Data';
run;
*---Final Principal Component Analysis---;
proc factor data=results nfactors=2 plot=scree;
var judge1-judge25;
where _type_='SCORE';
title3 'Principal Components of Monotonically Transformed Data';
run;
*---Plot the Results---;
%plotit(data=results, datatype=mdpref 1.5)
****************************************************************
* Title: Preference Ratings For 1980 Automobiles *
* Ref: Proc Transreg, Example 6 *
****************************************************************;
*---Compute Coordinates for a 2-Dimensional Scatterplot of Cars---;
proc prinqual data=carpref out=presults(drop=judge1-judge25) n=2
replace standard scores;
id model mpg reliable ride;
transform monotone(judge1-judge25);
title2 'Multidimensional Preference (MDPREF) Analysis';
title3 'Optimal Monotonic Transformation of Preference Data';
run;
*---Compute Endpoints for MPG and Reliability Vectors---;
proc transreg data=presults;
model untie(mpg reliable)=identity(prin1 prin2);
output tstandard=center coefficients replace out=tresult1;
id model;
title2 'Preference Mapping (PREFMAP) Analysis';
run;
*---Compute Ride Ideal Point Coordinates---;
proc transreg data=presults;
model untie(ride)=point(prin1 prin2);
output tstandard=center coordinates replace noscores out=tresult2;
id model;
title2 'Preference Mapping (PREFMAP) Analysis';
run;
*---Create Plotting Data Set---;
data results;
set tresult1 tresult2;
run;
%plotit(data=results, datatype=vector ideal,
radii=%str(1.5,3), antiidea=1)
****************************************************************
* Title: Canonical Discriminant Analyses Of Cars Data Set *
****************************************************************;
title 'Canonical Discriminant Analysis';
data cancars;
input Origin $ 1-8 Make $ 10-19 Model $ 21-36
(Mpg Reliability Acceleration Braking Handling Ride
Visibility Comfort Quiet Cargo) (1.);
datalines;
GMC Buick Century 3334444544
GMC Buick Electra 2434453555
GMC Buick Lesabre 2354353545
GMC Buick Regal 3244443424
GMC Buick Riviera 2354553543
GMC Buick Skyhawk 3232423224
GMC Buick Skylark 4145555422
GMC Chevrolet Camaro 2254541241
GMC Chevrolet Caprice Classic 2445353555
GMC Chevrolet Chevette 5335425223
GMC Chevrolet Citation 4155555525
GMC Chevrolet Corvette 2153542242
GMC Chevrolet Malibu 3333444544
GMC Chevrolet Monte Carlo 3253353544
GMC Chevrolet Monza 2142233114
Chrysler Dodge Aspen 2143333424
Chrysler Dodge Colt Hatchback 5544445434
Chrysler Dodge Diplomat 2153343434
Chrysler Dodge Mirada 2143432434
Chrysler Dodge Omni 024 4345535225
Chrysler Dodge St Regis 1154353545
Ford Ford Fairmont 3324345434
Ford Ford Fiesta 5445344414
Ford Ford Granada 2233233233
Ford Ford LTD 3354354555
Ford Ford Mustang 3244323222
Ford Ford Pinto 4134313222
Ford Ford Thunderbird 2354344444
Ford Mercury Bobcat 4134313212
Ford Mercury Capri 3154322222
Ford Mercury Cougar XR7 2454444444
Ford Mercury Marquis 3354354555
Ford Mercury Monarch 2353232232
Ford Mercury Zephyr 3124345434
GMC Oldsmobile Cutlass 3443444544
GMC Oldsmobile Delta 88 2435353555
GMC Oldsmobile 98 2445353555
GMC Oldsmobile Omega 4155555522
GMC Oldsmobile Starfire 2133522154
GMC Oldsmobile Toronado 3323443544
Chrysler Plymouth Champ 5544445434
Chrysler Plymouth Gran Fury 2134353535
Chrysler Plymouth Horizon 4345535235
Chrysler Plymouth Volare 2153333424
GMC Pontiac Bonneville 2345353555
GMC Pontiac Firebird 1153551231
GMC Pontiac Grand Prix 3224432434
GMC Pontiac Lemans 3333444544
GMC Pontiac Phoenix 4155554415
GMC Pontiac Sunbird 3134533234
;
proc candisc data=cancars out=outcan;
class origin;
var acceleration handling ride visibility cargo;
run;
title2 'Color Groups by Origin';
%plotit(data=outcan, plotvars=can2 can1, typevar=origin, labelvar=model)
title2 'Color Groups by Make';
%plotit(data=outcan, plotvars=can2 can1, typevar=make, labelvar=model)
%macro doit;
%let varlist = mpg reliability comfort;
%let i = 1;
%let avar = %scan(&varlist,1,%str( ));
%do %while(&avar ne );
title2 "Blue to Red is Low to High on &avar";
%plotit(data=outcan,plotvars=can2 can1,
labelvar=model,paint=&avar)
%let i = %eval(&i + 1);
%let avar = %scan(&varlist,&i,%str( ));
%end;
%mend;
%doit;
****************************************************************
* Title: Car Owners And Car Origin *
* Ref: Proc Corresp, Example 1 and 2. *
****************************************************************;
title 'Car Owners and Car Origin';
proc format;
value origin 1 = 'American' 2 = 'Japanese' 3 = 'European';
value size 1 = 'Small' 2 = 'Medium' 3 = 'Large';
value type 1 = 'Family' 2 = 'Sporty' 3 = 'Work';
value home 1 = 'Own' 2 = 'Rent';
value sex 1 = 'Male' 2 = 'Female';
value income 1 = '1 Income' 2 = '2 Incomes';
value marital 1 = 'Single with Kids' 2 = 'Married with Kids'
3 = 'Single' 4 = 'Married';
run;
data cars;
missing a;
/* Read Numeric Variables */
input (origin size type home income marital kids sex) (1.) @@;
/* Check for End of Line */
if n(of origin -- sex) eq 0 then do;
input;
return;
end;
marital = 2 * (kids ne 0) + marital;
format origin origin. size size. type type. home home.
sex sex. income income. marital marital.;
return;
datalines;
131112212121110121112201131211011211221122112121131122123211222212212201
121122023121221232211101122122022121110122112102131112211121110112311101
211112113211223121122202221122111311123131211102321122223221220221221101
122122022121220211212201221122021122110132112202213112111331226122221101
1212110231AA220232112212113112112121220212212202112111022222110212121221
211211012211222212211101313112113121220121112212121112212211222221112211
221111011112220122212201131211013121220113112222131112012131110221112211
121112212211121121112201321122311311221113112212213211013121220221221101
133211011212220233311102213111023211122121312222212212111111222121112211
133112011212112212112212212222022131222222121101111122022211220113112212
211112012232220121221102213211011131220121212201211122112331220233312202
222122012111220212112201221122112212220222212211311122012111110112212212
112222011131112221212202322211021222110121221101333211012232110132212101
223222013111220112211101211211022112110212211102221122021111220112111211
111122022121110113311122322111122221210222211101212122021211221232112202
1331110113112211213222012131221211112212221122021331220212121112121.2212
121122.22121210233112212222121011311122121211102211122112121110121212101
311212022231221112112211211211312221221213112212221122022222110131212202
213122211311221212112222113122221221220213111221121211221211221221221102
131122211211220221222101223112012111221212111102223122111311222121111102
2121110121112202133122222311122121312212112.2101312122012111122112112202
111212023121110111112221212111012211220221321101221211122121220112111112
212211022111110122221101121112112122110122122232221122212211221212112202
213122112211110212121201113211012221110232111102212211012112220121212202
221112011211220121221101211211022211221112121101111112212121221111221201
211122122122111212112221111122312132110113121101121122222111220222121102
221211012122110221221102312111012122220121121101121122221111222212221102
212122021222120113112202121122212121110113111101123112212111220113111101
221112211321210131212211121211011222110122112222123122023121223112212202
311211012131110131221102112211021131220213122201222111022121221221312202
131.22523221110122212221131112412211220221121112131222022122220122122201
212111011311220221312202221122123221210121222202223122121211221221111112
211111121211221221212201113122122131220222112222211122011311110112312211
211222013221220121211211312122122221220122112201111222011211110122311112
312111021231220122121101211112112.22110222112212121122122211110121112101
121211013211222121112222321112112112110121321101113111012221220121312201
213211012212220221211101321122121111220221121101122211021122110213112212
212122011211122131221101121211022212220212121101
;
*---Simple Correspondence Analysis---;
proc corresp all data=cars outc=coor;
tables marital, origin;
run;
%plotit(data=coor, datatype=corresp)
*---Multiple Correspondence Analysis---;
proc corresp mca observed data=cars outc=coor;
tables origin size type income home marital sex;
run;
%plotit(data=coor, datatype=mca)
****************************************************************
* Title: Multidimensional Scaling Of Beverages Data Set *
****************************************************************;
title 'Multidimensional Scaling of Beverages';
data dissim;
do i = 1 to 3; drop i;
input (Coke OrangeSoda LemonKoolAid Milk HotTea IceTea
HotCoffee IceCoffee Water AppleJuice GrapeJuice
Rum Beer Wine Scotch Postum SevenUp DrPepper
Lemonade PepsiCola OrangeCrush V8Juice) (1.) @@;
output;
end;
input;
datalines;
.8...5...4...8...2....8.3...8...5...9...2....3.9...6...9...8...5..
..9.9...7...9...8...8....9.6...6...8...4...75...6.5...6...9...4...
.8...5.6...8...2...8....6...6.5...5...8...8....7...5.8...8...8...8
4...6...8.6...9...5....5...6...6.9...8...5....9...8...9.5...9...9.
...9...5...5.7...9...98...8...8...7.6...6....9...9...9...6.8...9..
..8...2...8...8.6...8....8...8...9...6.4...82...4...8...9...4.7...
.2...4...5...6...7.7....5...8...5...9...7.7....8...8...9...8...7.8
....7...8...9...8...8....9...7...9...5...2......7...5...9...3...1.
.....6...4...8...5...49.....7...7...9...6....7.....5...8.......4..
..6.....3...9...5...4....7.....7...8...7...77...5.....9...7...7...
.5...3.....9...5...5....4...7.....9...6...3....7...9.....3...6...5
9...8...9.....1...8....9...9...9.....9...9....8...8...3.....7...7.
...9...7...1.....9...85.......5...9.....8....3...5...6...7.....6..
..5...7...6...9.....6....6...7...8...8.....52...4...5...9...6.....
.1...4...3...7...6......4...7...5...8...5......8...4...5...4...1..
....8...5...4...4...1......5...3...6...6...68.....8...8...9...8...
.8.....7...8...7...7....5.....4...5...5...5....8.....9...9...7...8
4...7.....8...7...8....5...4.....5...6...6....3...9.....5...5...3.
...8...8.....3...5...75...8...5.....5...6....4...5...5.....9...4..
..6...9...3.....7...7....9...7...5.....5...84...7...6...9.....8...
.4...5...5...7.....4....6...7...5...5.....5....8...8...6...8.....8
1...7...6...4...4......1...5...3...7...5......6...8...7...8...8...
.5...4...7...6...5....5.3...7...6...8...3....3.9...7...8...7...5..
..9.9...7...8...8...8....9.2...6...7...6...84...2.7...5...8...6...
.7...7.2...7...2...7....7...2.7...7...7...7....7...7.7...7...6...7
7...6...7.3...7...5....6...5...3.7...7...6....8...7...7.4...6...7.
...8...7...4.6...6...76...7...7...6.6...7....8...8...7...6.8...7..
..7...2...7...8.6...7....8...7...6...6.6...85...6...6...6...6.7...
.3...6...5...7...7.6....5...7...6...7...6.5....8...7...7...7...5.6
....8...7...7...8...6...6...7...6...8...7......8...5...9...6...6..
6...4...2...8...5...3..8...7...8...8...8...8..4...4...6...9...5...
...7...4...8...3...6..7...4...4...7...5...6..5...4...6...6...6...7
..2...4...5...9...3......8...6...7...6...6..6...6...5...6...7...6.
.9...8...7...6...7...9..8...7...6...7...7......8...6...6...8...7..
8...9...9...7...8...9..6...3...6...8...5...7..5...5...7...8...5...
...8...6...7...5...3..7...5...3...7...5...3..6...6...6...7...3...8
..3...6...6...9...3......8...7...9...7...8......8...7...7...3...3.
.....5...3...4...4...8......5...3...8...2..........8...8...8...9..
8.......6...5...7...7..5.......6...6...6...8..5.......9...8...8...
...8.......4...2...5..7...6.......7...6...7..3...6.......2...5...6
..3...9.......8...4......8...4.......6...4..7...5...7.......6...7.
.4...6...2.......4...9..8...8...8.......4......8...2...6.......7..
3...7...6...6.......2..4...6...5...4.......7..2...8...4...4.......
...9...5...4...7......3...7...7...7...2......8...8...6...9...7....
....7...5...3...2...3......5...3...4...3...4......6...2...8...1...
.......6...8...6...6..7.......2...4...3...5..5.......5...5...4...3
..6.......6...8...6......6.......8...2...6..5...2.......3...3...4.
.3...5.......2...2...3..2...6.......8...3......8...8.......7...5..
3...4...3.......4...3..4...5...2.......4...3..8...8...8.......7...
...6...2...7.......7..2...3...3...4.......4..3...4...2...4.......4
..1...6...3...7..........6...6...5...7......3...5...4...3...4.....
.4...3...3...3...4......7...7...6...6...7......9...7...7...7...8..
7...8...6...7...6...6..9...7...7...8...8...9..8...5...7...7...7...
...7...7...7...6...8..7...5...8...7...7...7..7...7...7...7...6...8
..6...8...7...6...7......7...7...7...6...7..6...7...7...9...7...6.
.7...7...7...6...6...8..7...7...9...7...7......8...7...6...7...7..
6...7...6...7...7...7..7...6...6...7...6...8..6...7...7...7...6...
...8...6...6...6...7..7...7...7...7...6...6..8...8...7...7...7...7
..6...7...6...7...6......9...8...8...8...7...6...3...6...5........
6.2...8...7...3...3....2.9...8...2...9...5....9.8...7...9...8...9.
...8.2...4...5...3...93...2.4...5...3...3....8...4.2...9...7...5..
..8...2.8...8...6...6....7...8.2...2...9....6...4...2.3...2...2...
.7...5...3.8...9...3....2...9...8.5...3...4....9...8...5.6...9...9
5...5...2...6.4...2....3...3...2...4.9...6....9...7...9...9.9...9.
...8...6...3...9.6...9....3...9...9...6.5....3...3...2...2...5.4..
..5...5...3...6...4.5....9...6...4...9...5.9....9.......9...9...9.
....5...9...9...9...9......9.......9...8...9......8...8...9...2...
.......9...9...9...9..5.......7...9...8...9..9.......9...8...9...9
..8.......9...9...9......9.......9...8...8..9...7.......9...8...9.
.....9.......7...8...9..8...9.......6...7......9...9.......9...9..
9...9...9.......9...9..9...8...7.......8...9..9...9...6.......9...
...9...8...9.......9..9...8...8...9.......6..8...9...8...8.......8
..2...9...7...9..........9...8...9...9......9...9...9...9...6.....
.9...9...9...9...8......9...9...9...9...9......9...9...9...9...9..
9...9...9...9...6...6..9...9...9...9...9...9..9...8...9...9...9...
...9...9...9...8...9..9...8...9...9...9...9..9...9...9...9...9...9
..9...9...9...9...9......9...9...9...9...9..9...9...9...9...9...8.
.9...9...9...8...9...9..9...9...9...8...9......9...9...8...9...9..
9...9...9...8...9...9..9...8...9...9...9...9..6...9...9...9...6...
...9...9...9...9...8..9...9...9...9...6...7..9...9...9...9...8...9
..6...9...8...9...7......9...9...9...9...9.....9...9...7...7...4..
....9...9...9...6...1......9...3...4...5...89.....9...9...9...9...
.9.....5...5...5...8....9.....9...7...9...8....9.....9...9...8...9
9...5.....9...3...9....9...9.....9...9...9....3...9.....9...5...3.
...9...9.....3...4...87...5...9.....6...5....9...7...9.....8...9..
..4...9...3.....7...5....9...3...6.....9...97...5...9...8.....9...
.6...9...5...7.....9....5...8...4...9.....9....9...9...5...9.....9
4...8...9...9...9......1...8...3...5...9......8...9...8...9...9...
..8...7...7...9...8......9...9...9...8...8..8...8...7...8...7...8.
.9...8...9...9...9...9..8...7...9...9...9......8...9...9...7...9..
7...7...9...9...9...9..9...9...8...9...7...8..7...9...8...9...6...
...9...8...8...7...8..7...9...8...9...7...8..9...9...8...9...9...9
..8...9...9...9...8......9...9...9...9...9..9...9...9...9...9...9.
.8...7...7...9...7...8..7...9...7...9...6......9...7...9...7...5..
8...9...6...8...6...7..8...9...8...9...5...8..8...9...8...9...7...
...9...8...9...8...8......7...4...5...3...2......4...3...4...2...7
......7...3...7...4..........6...8...4...7..7.......4...6...6...5.
.4.......4...5...5...7..7.......8...6...6......6.......5...3...6..
4...4.......4...4...4..3...4.......3...4...4..3...8.......7...2...
...8...5.......6...4..5...6...4.......4...6..4...5...3.......6...7
..7...6...7.......6......4...3...6.......6..3...6...4...4.......2.
.2...5...4...6.......4..4...6...2...6..........7...6...4...6......
2...5...4...6...2......7...7...4...7...4.......9...4...8...6...1..
....9...7...8...6...2......7...5...9...8...89.....9...9...9...9...
.9.....7...7...4...8....7.....4...9...6...7....9.....9...9...9...8
4...7.....6...9...9....7...4.....9...7...9....5...9.....9...5...5.
...9...6.....7...3...58...7...9.....3...7....8...9...9.....9...9..
..9...9...7.....9...9....9...9...3.....9...96...4...7...9.....7...
.6...6...5...9.....5....8...9...3...9.....6....9...9...7...7.....7
1...8...9...9...5......2...7...5...9...6......8...8...5...9...7...
..4...3...4...6...3......7...7...6...7...1..4...7...3...4...1...1.
.7...7...6...7...9...7..7...3...6...6...5......7...4...7...3...3..
3...3...7...6...7...7..7...4...7...5...6...8..3...7...6...7...3...
...6...7...7...6...7..4...6...6...7...4...5..6...7...7...3...6...8
..4...6...7...4...7......7...5...3...8...2..6...6...7...4...7...7.
.7...3...6...8...7...7..1...7...4...7...3......9...6...6...7...3..
3...5...3...7...3...2..1...3...7...2...3...8..1...7...5...7...2...
...7...8...8...7...8....6...8...4...7...4......9...9...7...8...4..
6...7...4...6...3...2..9...8...5...8...8...8..7...2...8...8...6...
...8...3...5...3...6..8...2...6...7...8...9..9...3...8...7...3...7
..4...6...9...8...2......5...8...4...8...3..4...8...9...7...8...4.
.7...5...4...3...8...9..6...7...7...7...4......8...7...3...8...7..
7...8...8...7...8...9..8...3...8...8...7...9..3...8...8...8...2...
...8...3...8...7...4..4...6...2...4...2...4..4...6...3...7...4...7
..2...9...4...9...4......8...7...9...9...7...3...4...4...8...1....
3.2...7...3...9...1....2.5...4...8...7...1....5.7...3...8...8...9.
...7.5...4...8...6...44...5.5...3...8...1....7...5.5...8...3...7..
..4...5.8...6...4...2....3...8.7...8...5...54...4...7.1...8...3...
.3...3...1.9...6...5....8...8...9.2...5...8....8...6...2.2...7...8
8...8...8...2.2...6....9...8...8...2.9...7....7...3...6...9.7...6.
...8...4...5...7.1...71...6...5...7...1.3....1...1...3...6...3.2..
..1...7...5...7...2.2....9...2...8...6...2.7....4...5...8...7...7.
...9...7...8...7...1......9...6...9...2...1......4...4...6...6...8
9.....9...9...9...9....9.....6...8...2...9....4.....5...9...7...4.
...9.....9...9...9...97...6.....9...9...9....6...5.....9...8...7..
..4...9.....9...4...1....9...9.....2...4...88...8...9.....1...9...
.9...9...9.....9...7....6...9...2.....6...5....9...9...1.....9...9
7...2...8...9.....9....2...7...4...6.....5....6...9...4...9.....3.
...9...9...9...9.....81...9...7...7...5......1...4...1...5...3....
..8...9...8...9...8.......8...5...3...3...3......7...3...5...3...6
......8...3...7...2..........6...9...7...8..8.......6...6...7...7.
.7.......6...7...6...8..8.......8...8...6......6.......8...3...7..
5...6.......5...3...3..3...6.......2...4...5..3...8.......7...3...
...9...8.......9...3..3...6...5.......4...4..5...7...2.......4...5
..7...8...7.......6......7...3...9.......8..3...7...3...4.......3.
.3...6...4...4.......8..2...6...3...6..........8...7...3...8......
3...7...3...4...3......6...8...5...5...8......5...7...6...7...4...
...9...4...6...6...3..5...6...5...5...2...3..9...7...8...8...9...9
..6...1...7...7...5......7...3...5...4...3..7...1...7...7...7...7.
.4...3...6...7...5...8..5...7...6...7...4......8...6...7...7...6..
6...7...6...7...5...4..6...5...7...3...6...8..5...7...7...6...7...
...8...7...3...8...7..7...7...7...6...7...7..6...4...7...8...7...7
..2...7...5...7...3......9...5...6...7...3..4...5...4...7...3...3.
.3...3...6...7...3...8..3...7...4...7...3......9...8...8...7...8..
..7...8...7...4...6......9...8...8...7...6..7...8...4...5...3...2.
.9...7...8...8...9...4..8...2...8...8...7......7...3...7...3...6..
8...2...4...8...9...8..8...3...8...7...6...8..4...4...4...6...3...
...8...8...7...9...4..7...8...4...8...8...4..8...7...7...3...5...9
..5...8...8...4...7......8...7...3...6...7..4...8...6...4...7...9.
.7...3...9...6...8...8..3...9...8...7...5......9...6...5...8...1..
6...7...3...7...5...4..6...6...4...7...1...8..2...8...4...9...4...
...4...8...9...8...8.....9...7...7...6...1......7...5...6...4...1.
.....4...3...5...3...59.....7...8...9...8....7.....5...6...4...6..
..4.....5...5...4...5....7.....7...7...7...77...5.....7...8...7...
.5...5.....5...7...5....3...7.....4...3...3....8...7.....4...3...5
7...6...5.....2...7....6...5...4.....8...5....5...7...4.....4...5.
...9...8...2.....6...76...4...7...8.....8....4...4...3...4.....5..
..3...7...3...6.....3....8...7...7...8.....41...6...5...5...5.....
.1...5...3...5...3......5...7...5...7...4....8...6...5...3...6....
8.3...8...2...8...2....3.6...7...7...8...4....6.6...6...9...3...5.
...6.3...6...6...5...46...3.7...4...8...2....8...7.2...3...1...8..
..7...2.8...8...8...8....6...8.6...8...6...55...6...6.2...9...2...
.2...4...2.8...8...5....7...3...8.4...8...8....9...8...4.7...9...8
3...6...8...7.6...7....8...8...9...6.3...8....8...1...8...3.8...8.
...3...8...8...8.4...66...5...6...9...4.4....2...2...2...7...4.7..
..4...8...5...8...7.4....5...8...8...8...4.5....4...5...8...6...5.
.5...4...4...4...1....5.3...6...1...8...2....3.7...2...5...6...4..
..7.8...7...8...8...8....8.2...5...7...3...74...2.6...2...6...1...
.6...6.4...7...2...4....2...4.2...5...4...4....7...2.3...4...3...9
4...5...3.1...6...1....1...2...1.8...6...3....5...7...8.7...7...5.
...8...5...7.4...6...74...7...4...4.5...5....8...6...6...5.8...6..
..6...2...6...8.9...6....8...4...7...9.4...81...3...3...6...4.4...
.2...1...1...5...4.4....4...4...3...6...4.3....8...4...5...6...3.7
....7...9...7...8...7..8...5...7...4...5....8.5...7...4...6...4...
.5.6...5...7...4...4....6.3...8...8...4...6....3.2...7...9...4...4
5...2.6...5...7...3....7...6.2...........4....5...2.2...5...7...4.
...8...2.3...8...9...47...7...3.2...8...3....4...5...2.3...5...3..
..7.......3.2...6...9....8...5...2.2...6...64...9...8...2.3...7...
.6...7...8...3.4...7....4.......5...4.8...5....4...7...6...8.6...6
5...4...9...6...6.3....4...3...3...7...3.3....4...4...3...7...3.5.
...6...4...9...5...5.5....4...4...6...6...5.....8...5...4...2...2.
.....4...3...4...2...3......8...2...9...1..........3...7...5...4..
8.......5...6...6...5..4.......4...4...3...3..8.......9...8...8...
...3.......5...2...3..5...5.......4...5...4..3...4.......3...3...2
..2...9.......8...2......7...5.......9...5..4...6...4.......4...3.
.4...4...3.......5...4..9...8...8.......5......5...2...9.......9..
2...6...5...4.......2..2...3...3...5.......4..1...8...2...5.......
...4...3...5...9......2...5...4...3...2......3...3...2...4...4....
.4...6...7...7...3....4.3...9...2...8...5....3.6...5...6...7...3..
..6.4...4...6...7...7....4.2...8...7...7...96...2.5...6...5...4...
.9...5.2...7...1...9....5...2.3...5...7...4....4...3.7...3...4...9
7...8...7.3...6...4....2...6...3.7...4...2....6...7...7.6...6...6.
...6...5...6.6...6...57...7...3...6.6...5....8...5...6...6.6...6..
..7...1...4...6.4...6....7...7...6...4.5...63...7...4...6...5.5...
.5...4...4...5...5.4....3...9...2...6...4.4....7...4...6...6...4.8
....9...9...5...6...8..9...4...6...8...2....9.4...9...4...9...2...
.4.9...7...8...8...5....9.8...6...9...9...9....8.2...7...7...7...9
4...2.6...4...9...3....9...6.2...9...2...8....7...2.7...7...8...8.
...6...7.4...8...8...76...7...4.5...7...4....4...4...5.7...8...7..
..8...9...7.5...9...8....9...7...5.5...7...88...7...8...5.8...8...
.9...9...7...8.9...9....8...2...8...9.9...9....9...8...9...9.6...9
2...7...8...7...6.5....2...3...4...8...5.8....5...8...7...9...8.6.
...9...8...8...9...6.7....9...7...8...9...7....7...3...3...8...1..
....9...9...7...3...2......4...3...7...5...77.....9...8...9...8...
.9.....9...7...3...6....4.....2...4...4...7....9.....9...9...9...8
3...9.....7...9...4....9...2.....7...4...5....3...9.....3...3...3.
...8...7.....6...8...33...7...7.....7...3....7...4...3.....9...4..
..7...9...6.....8...8....9...9...7.....9...98...3...4...9.....8...
.3...4...3...8.....2....5...9...8...9.....2....8...4...3...8.....3
1...6...5...4...2......2...7...3...8...2......7...8...3...9...3...
....9...4...8...4...4......8...3...9...8...8......9...7...9...3...
.......8...9...6...7..9.......4...9...8...9..8.......7...9...5...7
..9.......9...7...9......8.......7...4...5..4...4.......6...5...7.
.3...7.......3...3...5..7...9.......9...5......9...7.......7...8..
8...9...6.......7...9..9...9...3.......9...8..9...7...9.......8...
...6...4...7.......9..4...8...5...7.......7..8...5...3...9.......8
..3...9...5...8..........7...5...8...9......4...9...7...9...7.....
.8...7...5...8...8.....6...3...6.......1....6.2...9...4...8...1...
.2.5...4...6.......3....5.3...9.......9...7....3.4...9.......9...9
3...4.5...8.......4....9...5.5................4...5.5...........4.
...9...5.3.......3...96...9...3.2.......3....4...8...2.........4..
..6...............................................................
.8.............................................9.............2...8
1...9...3.......2.2....1...4...3.......2.2....3.......4.......2.3.
...7...4...........3.4....9...9.......8...4..5...5...8...7...2....
5.5...8...5.......4....5.9...8.......9...7....9.7...9...9...7...9.
...7.6...8...7...8...95...6.7...7.......6....8...7.6.......6...8..
..8...6.9...9...7...7....9...9.7...9...5...78...8...7.5.......6...
.5...7...5.....9...7...........................9...9.....4...7...8
7...7...9...4.....7..................9........9...6...9...9.8...9.
...7...7.......8.2...82...8...5...7...2.6....4...6...6...7...6.7..
..7...8...7.......7.4....9...7.......9...4.8....9...7...8...8...8.
.8...6...7...7...3....8.6...9...7...8...3....6.9...7...8...7...4..
..9.8...7...9...8...7....8.5...7...8...4...46...5.8...6...7...2...
.9...8.9...7...4...7....7...9.5...7...7...4....7...5.6...6...7...3
7...7...6.3...8...7....7...6...3.9...8...6....8...7...9.7...8...8.
...9...7...7.6...6...97...8...6...6.7...7....8...7...8...7.8...8..
..7...4...8...8.7...9....8...7...8...7.7...73...4...7...6...7.6...
.3...2...7...7...6.7....4...7...6...8...7.7....7...4...8...9...7.8
....4...3...9...7...8..8...8...7...8...4....8.7...8...5...9.......
.7.9...7...9...9...8....9.9...7...9...9...9....9.5...8...9.......9
8...5.9...8...9...6....8...9.5...9...4...8....7...5.8...8...9...8.
...7...8.9...8...9...97...8...9.5...9...4....5...8...5.9...8...8..
..9...9...9.9...9...9....9...8...9.7...8...98...9...8...7.9...8...
.9...9...9...9.9...9....9...4...8...9.9...8....9...9...9...9.8...9
4.......9...8...8.7........6...4...8...7.8....8...8...8...9...8.8.
...9...8...9...8...8.9....9...9...9...9...9....9...........4...9..
....9...9.......5...1......4...6.......5...69.....9...8...9...9...
.9.....8...........9....4.....9.......9...5....9..................
....8.....9............9...9.....9.......9....6.............6...5.
...8...9.....9...9...7........9.....2......................9......
..........9.....9........9.......2..........4...........9.....9...
.5...9...6...9.....9....5.......9.........8....9...........9.....7
9...9...9.......9......1...5...5.......8......6.......7.......7...
.6...6...8...8...4....6.7...9...6...8...4....7.9...9...9...9...7..
..9.7...6...7...9...9....7.4...7...8...7...96...4.8...7...8...5...
.9...8.5...8...4...8....9...5.5...9...9...9....6...5.5...6...6...9
8...7...5.4...7...6....6...7...4.9...9...6....9...8...9.6...8...9.
...7...9...6.6...7...98...8...6...6.6...7....8...8...7...6.9...8..
..9...4...9...9.9...9....9...9...8...9.8...94...7...6...7...8.7...
.4...5...6...7...7.6....7...8...6...8...6.6....9...9...9...9...6.9
....9...9...9...9...9....8...8...6.......1......5...7...8...4...1.
.....6...2...7...2...68.....9...9...9...9....5.....9...9.......9..
..6.....4...9...7...3....9.....9...9...9...98...9.....8...8...9...
.7...4.....7.......6....2...9.....5...2...3....9...8.....4...3...9
6...9...7.....1...7....8...9...5.........9....7...9...4.....8...3.
...9...8...1.....8...9.......................4...7...2...8.....8..
..2...9...3...8.....6....9...9...7.........91...9...6...9...8.....
.1...3...3...3...6......6...9...9...9...9....3...6...3...3...1....
3.4...9...2...4...3....4.8...7...2...9...2....8.5...4...9...6...7.
...5.2...5...8...5...66...2.6...7...7...4....9...6.2...8...1...7..
..7...2.7...4...8...8....4...7.4...6...7...73...5...4.2...7...2...
.2...7...2.7...7...3....2...8...7.4...3...3....9...4...4.3...5...4
3...8...6...3.2...3....4...7...7...2.8...5....9...1...7...8.9...7.
...6...8...3...9.2...41...5...7...5...2.3....3...4...2...3...3.3..
..2...7...3...5...3.3....7...8...3...7...3.5....6...7...4...4...5.
.7...5...6...6...2....7.7...6...5...6...3....7.8...5...7...7...5..
..8.7...7...7...7...6....7.3...3...4...7...85...3.4...5...4...4...
.6...4.3...4...4...4....5...3.7...7...5...7....7...7.6...5...7...9
6...3...6.4...4...4....5...5...4.7...7...5....7...4...7.6...5...7.
...7...7...6.7...6...46...4...5...7.3...6....6...4...4...3.7...4..
..7...4...7...7.7...6....7...5...5...7.4...72...7...7...6...4.7...
.3...4...4...6...7.6....5...4...5...4...6.4....6...7...7...6...4.8
....8...9...4...7...8..7...7...4...6...2....7.2...9...3...9...7...
.2.8...6...8...6...6....8.8...6...6...8...9....8.3...7...8...4...8
7...3.4...5...6...4....9...4.7...8...3...3....6...7.7...7...7...8.
...6...7.4...8...7...54...7...4.2...7...2....3...5...2.8...8...3..
..8...8...8.4...7...7....6...7...4.4...8...56...8...8...4.5...3...
.9...6...7...5.9...8....6...3...8...9.9...9....8...7...7...9.5...4
2...4...7...8...5.5....7...4...2...3...5.7....6...3...3...8...7.3.
...9...8...7...9...3.5....8...5...5...4...5..2...6...6...8...2....
2.4...8...5...7...3....4.7...7...7...6...5....7.7...6...6...7...7.
...7.1...6...8...4...46...1.2...5...8...4....8...2.1...9...1...8..
..7...1.5...8...5...7....6...5.3...7...6...66...6...3.2...6...3...
.5...5...2.7...5...7....7...9...7.2...5...7....6...8...2.2...7...6
8...8...7...2.2...7....7...8...6...2.8...7....6...1...5...8.8...7.
...7...5...5...8.2...92...4...6...7...2.6....3...4...3...7...6.5..
..5...8...7...7...5.2....7...7...7...7...2.9....4...6...6...9...9.
..5...4...4...4...3......8...8...7...5...2..5...5...5...7...2...2.
.8...5...7...8...8...7..5...2...6...8...5......5...3...7...4...3..
4...2...7...8.......8..8...3...7...4...3...6..5...7...5...5...5...
...7...7...7...6...5..4...6...5...9...6...3..7...7...7...3...6...6
..7...8...9...3...8......8...4...3...8...7..4...8...5...3...7...7.
.5...4...6...8...6...7..2.......6...7...3......8...3...6...6...2..
3...5...5...8...3...2..2...3...5...7...2...5..2...8...3...7...2...
...7...6...6...7...5....7...5...4...7...6......8...7...8...8...2..
7...7...4...6...3...1..8...4...7...8...8...7..7...2...9...7...5...
...4...2...8...7...5..5...2...2...8...9...9..7...2...5...8...6...9
..4...2...7...9...2......7...5...8...8...6..4...9...7...5...4...2.
.8...8...8...3...8...9..6...8...5...4...5......8...8...3...9...6..
7...7...9...4...6...7..8...7...8...9...8...9..3...9...4...6...3...
...8...6...8...8...2..6...5...2...5...3...3..2...5...6...6...2...9
..1...9...2...7...3......7...9...9...9...9....7...9...4...8...8...
...9...8...7...8...6..7...8...3...9...2...3..9...7...7...8...2...7
..8...2...7...8...4......7...2...9...5...5..9...2...8...8...9...9.
.8...2...5...9...6...8..3...8...3...9...2......7...5...7...8...7..
4...7...3...9...9...6..7...9...7...5...9...8..9...8...9...8...6...
...8...9...5...9...8..8...8...9...8...8...8..8...5...8...9...8...6
..2...9...9...8...3......2...6...9...8...1..8...4...2...6...3...2.
.6...5...7...8...1...8..3...9...6...8...2......7...8...8...6...8..
...9...9...8...8...2......9...4...9...5...3......4...9...7...7...9
9.....9...9...9...9....9.....5...8...4...9....4.....3...9...7...6.
...9.....9...9...9...99...5.....9...9...9....4...3.....8...7...7..
..9...9.....7...5...6....9...9.....6...7...98...8...8.....7...8...
.9...9...7.....9...9....7...9...6.....9...8....9...9...7.....9...9
8...4...7...9.....9....5...7...5...9.....8....7...9...7...9.....9.
...9...9...8...9.....92...9...7...9...8......3...6...6...8...9....
..9...9...9...9...9.......6...2..................5...7............
......7......................3..............6.......4.............
.5.......3..............7.......2..............3.......9..........
2...4.......9..........7...3.......7..............2.......3...8...
.......9.......3..............9.......3..............7.......4....
..........3.......3..............3......................3.......8.
.............4.......6..........8...3.............................
................8......................6......7...6...6...7...7...
...9...8...7.......3..7...5...7...9...6...5..9...9...9...8...8...9
..5...3...6...7...3......9...2...8.......7..6...3...5...9...8...7.
.8...2...7...8...7...7..7...5...8...8...6......9...7...7.......6..
6...6...8...9...6...5..7...8...7...5...7...9..9...9...9...9...8...
...8...8...5.......8..7...7...8...9...8...9.......................
..6...8...6...8...6......8...7...7.......2..7...3...6...8...6...3.
.3...7...6...8...2...9..5...7...5...9...3......9...7...9.......9..
.4...4...9...7...1....4.3...9...9...7...3....3.9...9...7...9...5..
..9.9...7...9...9...9....9.2...9...5...9...64...2.7...5...4...5...
.9...7.2...9...1...9....9...2.4...5...7...9....7...4.4...7...9...7
9...9...4.3...6...4....9...5...3.3...9...9....7...9...3.3...6...6.
...9...5...3.7...9...97...5...7...7.4...9....7...4...6...4.9...8..
..9...1...9...9.9...9....9...7...6...9.4...61...9...9...9...4.6...
.3...5...4...9...6.7....5...9...9...8...7.5....9...9...6...9...5.4
....6...7...9...6...4..6...5...6...5...3....6.2...6...4...7...2...
.2.8...5...6.......5....8.5...3...5...5...5....5.2...5...4...3...7
5...2.4...5...5...5....6...4.2...7.......7....5...2.3...7...5...5.
...3...3.4...4...5...86...5...4.3...6...3....4...5...3.6.......4..
..6...7...6.6...6...5....5...7...6.3...5...55...4...4...3.6...5...
.7...5...6...6.....5...........................5...5...6.....7...5
3...3...5...5...7.4....2...5...3...5...4.7....5...7...4...5...7.6.
...5...5...5.......6.4....7...8...5...5...4....9...9...9.......2..
....9...9...9...6..........6...7...9...9...79.....9...9...9...9...
.9.........9.......9....6.....4...9...5...9....9.....9...9...9...9
9.........9...9...9....9...4.....9.......9....7...9.....9...7...9.
...9...9.....7...9...69...9...9.....9...9....9...9...9.........9..
..9...9...7.....9...9....9...9...9.....9...9......................
.6...5...7...9.....9....9...9...9...9.....9....9...9...9..........
2...9...9...9...9..........9...9...9...9......7...9...6...9.......
;
data ratings;
input Sweet Refreshing Healthy Good SimpleTasting Alcohol
Watery Sodas Colas Juices Opaques /
@1 _name_ $16. @26 label $16.;
KidDrink = sodas + colas + juices;
label SimpleTasting = 'Simple Tasting';
datalines;
2.84615 4.13461 7.50000 5.65385 5.86538 0 0 0 1 0 0
Coke Cola Coke
2.65385 4.50000 7.17308 5.61538 4.55769 0 0 1 0 0 0
OrangeSoda Soda Orange Soda
3.33333 4.40385 7.11538 6.00000 4.15385 0 0 1 0 0 0
LemonKoolAid Soda Lemon Koolaid
6.46154 3.96154 2.36538 2.07692 4.50980 0 0 0 0 0 1
Milk Watery Milk
6.92157 4.86274 5.55769 4.28846 4.28000 0 1 0 0 0 0
HotTea Watery Hot Tea
6.66667 3.29412 5.42308 3.92308 4.00000 0 1 0 0 0 0
IceTea Watery Ice Tea
7.41176 5.23529 6.63461 5.01923 5.07843 0 1 0 0 0 0
HotCoffee Watery Hot Coffee
7.19608 6.27451 7.00000 6.62745 5.30000 0 1 0 0 0 0
Icecofee Watery Iced Coffee
7.76923 3.32692 1.36538 2.01923 1.67308 0 1 0 0 0 0
Water Watery Water
3.36538 2.72549 2.09615 1.96154 4.30769 0 0 0 0 1 0
AppleJuice Juice Apple Juice
3.40385 3.11538 2.50000 2.46154 4.80769 0 0 0 0 1 0
GrapeJuice Juice Grape Juice
5.97872 6.56522 7.56000 6.16327 6.58696 1 0 0 0 0 0
Rum Alcohol Rum
6.58333 5.24490 6.42000 5.58000 6.39583 1 0 0 0 0 0
Beer Alcohol Beer
5.06383 5.77083 5.50000 4.72000 6.85106 1 0 0 0 0 0
Wine Alcohol Wine
7.20930 6.86667 7.61224 6.68085 6.44444 1 0 0 0 0 0
Scotch Alcohol Scotch
6.25000 6.93333 5.80435 6.71739 6.20000 0 1 0 0 0 0
Postum Watery Postum
2.92308 3.73077 6.80392 4.78431 4.30769 0 0 1 0 0 0
SevenUp Soda 7 Up
2.09615 4.75000 7.48077 6.15385 6.00000 0 0 0 1 0 0
DrPepper Cola Dr. Pepper
3.78846 2.80769 4.07692 3.23077 4.11538 0 0 1 0 0 0
Lemonade Soda Lemonade
2.51923 3.88461 7.36538 5.73077 5.40385 0 0 0 1 0 0
PepsiCola Cola Pepsi Cola
2.49020 4.03846 6.90385 5.48077 4.80392 0 0 1 0 0 0
OrangeCrush Soda Orange Crush
5.92308 4.48077 2.48077 2.94231 6.43137 0 0 0 0 0 1
V8Juice Juice V8 Juice
;
proc mds data=dissim maxiter=2 /* MAXITER= should be bigger!!!! */
level=interval model=indscal dimens=2 header out=config;
run;
proc sort data=config(where=(_type_ = 'CONFIG')
keep=_type_ _name_ dim1 dim2);
by _name_;
run;
proc sort data=ratings(keep=_name_ label Sweet -- SimpleTasting);
by _name_;
run;
data both(drop=_type_);
merge config ratings;
by _name_;
run;
proc transreg data=both;
model identity(Sweet -- SimpleTasting / reverse) =
identity(dim1 dim2);
output out=coor coo replace;
id label;
run;
%plotit(data=coor, datatype=mds vector 1.7)
****************************************************************
* Title: Miscellaneous Illustrations Of The Plotit Macro *
****************************************************************;
title "Principal Components of Mammals' Teeth";
data teeth;
input prin1 prin2 mammal $ 20.;
label prin1 = 'Dimension 1' prin2 = 'Dimension 2';
datalines;
-1.07861 2.49571 Reindeer
-1.07861 2.49571 Elk
-1.91645 2.06224 Deer
-1.91645 2.06224 Moose
0.20963 1.11008 Brown Bat
1.63582 0.95908 Wolf
1.63582 0.95908 Bear
-0.81127 0.93458 Red Bat
-0.14183 0.92850 Silver Hair Bat
1.68822 0.79958 Raccoon
-0.48191 0.63206 Pigmy Bat
-0.83336 0.45049 House Bat
-0.42183 0.22803 Mole
2.49881 0.14660 Marten
2.49881 0.14660 Wolverine
2.15874 -0.14983 River Otter
1.80728 -0.33141 Weasel
1.80728 -0.33141 Badger
1.23632 -0.68499 Grey Seal
-2.09478 -0.87943 Rabbit
1.64162 -1.01148 Sea Otter
2.79084 -1.01947 Fur Seal
2.79084 -1.01947 Sea Lion
-3.11568 -1.05493 Beaver
-3.11568 -1.05493 Groundhog
-2.44624 -1.06101 Pika
1.92490 -1.11384 Jaguar
1.92490 -1.11384 Cougar
-3.46713 -1.23651 Gray Squirrel
-3.46713 -1.23651 Porcupine
2.29581 -1.39702 Elephant Seal
-4.15867 -1.71452 House Mouse
;
%plotit(data=teeth)
title 'Crime Rates Per 100,000 Population by State';
data crime;
input State $1-15 Murder Rape Robbery Assault Burglary
Larceny Auto PostalCode $;
datalines;
Alabama 14.2 25.2 96.8 278.3 1135.5 1881.9 280.7 AL
Alaska 10.8 51.6 96.8 284.0 1331.7 3369.8 753.3 AK
Arizona 9.5 34.2 138.2 312.3 2346.1 4467.4 439.5 AZ
Arkansas 8.8 27.6 83.2 203.4 972.6 1862.1 183.4 AR
California 11.5 49.4 287.0 358.0 2139.4 3499.8 663.5 CA
Colorado 6.3 42.0 170.7 292.9 1935.2 3903.2 477.1 CO
Connecticut 4.2 16.8 129.5 131.8 1346.0 2620.7 593.2 CT
Delaware 6.0 24.9 157.0 194.2 1682.6 3678.4 467.0 DE
Florida 10.2 39.6 187.9 449.1 1859.9 3840.5 351.4 FL
Georgia 11.7 31.1 140.5 256.5 1351.1 2170.2 297.9 GA
Hawaii 7.2 25.5 128.0 64.1 1911.5 3920.4 489.4 HI
Idaho 5.5 19.4 39.6 172.5 1050.8 2599.6 237.6 ID
Illinois 9.9 21.8 211.3 209.0 1085.0 2828.5 528.6 IL
Indiana 7.4 26.5 123.2 153.5 1086.2 2498.7 377.4 IN
Iowa 2.3 10.6 41.2 89.8 812.5 2685.1 219.9 IA
Kansas 6.6 22.0 100.7 180.5 1270.4 2739.3 244.3 KS
Kentucky 10.1 19.1 81.1 123.3 872.2 1662.1 245.4 KY
Louisiana 15.5 30.9 142.9 335.5 1165.5 2469.9 337.7 LA
Maine 2.4 13.5 38.7 170.0 1253.1 2350.7 246.9 ME
Maryland 8.0 34.8 292.1 358.9 1400.0 3177.7 428.5 MD
Massachusetts 3.1 20.8 169.1 231.6 1532.2 2311.3 1140.1 MA
Michigan 9.3 38.9 261.9 274.6 1522.7 3159.0 545.5 MI
Minnesota 2.7 19.5 85.9 85.8 1134.7 2559.3 343.1 MN
Mississippi 14.3 19.6 65.7 189.1 915.6 1239.9 144.4 MS
Missouri 9.6 28.3 189.0 233.5 1318.3 2424.2 378.4 MO
Montana 5.4 16.7 39.2 156.8 804.9 2773.2 309.2 MT
Nebraska 3.9 18.1 64.7 112.7 760.0 2316.1 249.1 NE
Nevada 15.8 49.1 323.1 355.0 2453.1 4212.6 559.2 NV
New Hampshire 3.2 10.7 23.2 76.0 1041.7 2343.9 293.4 NH
New Jersey 5.6 21.0 180.4 185.1 1435.8 2774.5 511.5 NJ
New Mexico 8.8 39.1 109.6 343.4 1418.7 3008.6 259.5 NM
New York 10.7 29.4 472.6 319.1 1728.0 2782.0 745.8 NY
North Carolina 10.6 17.0 61.3 318.3 1154.1 2037.8 192.1 NC
North Dakota 0.9 9.0 13.3 43.8 446.1 1843.0 144.7 ND
Ohio 7.8 27.3 190.5 181.1 1216.0 2696.8 400.4 OH
Oklahoma 8.6 29.2 73.8 205.0 1288.2 2228.1 326.8 OK
Oregon 4.9 39.9 124.1 286.9 1636.4 3506.1 388.9 OR
Pennsylvania 5.6 19.0 130.3 128.0 877.5 1624.1 333.2 PA
Rhode Island 3.6 10.5 86.5 201.0 1489.5 2844.1 791.4 RI
South Carolina 11.9 33.0 105.9 485.3 1613.6 2342.4 245.1 SC
South Dakota 2.0 13.5 17.9 155.7 570.5 1704.4 147.5 SD
Tennessee 10.1 29.7 145.8 203.9 1259.7 1776.5 314.0 TN
Texas 13.3 33.8 152.4 208.2 1603.1 2988.7 397.6 TX
Utah 3.5 20.3 68.8 147.3 1171.6 3004.6 334.5 UT
Vermont 1.4 15.9 30.8 101.2 1348.2 2201.0 265.2 VT
Virginia 9.0 23.3 92.1 165.7 986.2 2521.2 226.7 VA
Washington 4.3 39.6 106.2 224.8 1605.6 3386.9 360.3 WA
West Virginia 6.0 13.2 42.2 90.9 597.4 1341.7 163.3 WV
Wisconsin 2.8 12.9 52.2 63.7 846.9 2614.2 220.7 WI
Wyoming 5.4 21.9 39.7 173.9 811.6 2772.2 282.0 WY
;
proc princomp data=crime out=crime;
run;
%plotit(data=crime, label=typical, symvar=postalcode,
labelvar=state, plotvars=prin2 prin1,
paint=murder, symsize=0.6, symlen=2)
title 'Crude Death Rate as a Function of Crude Birth Rate';
data vital;
input country $ 1-20 Births Deaths;
datalines;
USA 15 9
Afghanistan 52 30
Algeria 50 16
Angola 47 23
Argentina 22 10
Australia 16 8
Austria 12 13
Bangladesh 47 19
Belgium 12 12
Brazil 36 10
Bulgaria 17 10
Burma 38 15
Cameroon 42 22
Canada 16 7
Chile 22 7
China 31 11
Taiwan 26 5
Colombia 34 10
Cuba 20 6
Czechoslovakia 19 11
Ecuador 42 11
Egypt 39 13
Ethiopia 48 23
France 14 11
German Dem Rep 12 14
Germany, Fed Rep Of 10 12
Ghana 46 14
Greece 16 9
Guatemala 40 14
Hungary 18 12
India 36 15
Indonesia 38 16
Iran 42 12
Iraq 48 14
Italy 14 10
Ivory Coast 48 23
Japan 16 6
Kenya 50 14
Korea, Dem Peo Rep 43 12
Korea, Republic Of 26 6
Madagascar 47 22
Malaysia 30 6
Mexico 40 7
Morocco 47 16
Mozambique 45 18
Nepal 46 20
Netherlands 13 8
Nigeria 49 22
Pakistan 44 14
Peru 40 13
Philippines 34 10
Poland 20 9
Portugal 19 10
Rhodesia 48 14
Romania 19 10
Saudi Arabia 49 19
South Africa 36 12
Spain 18 8
Sri Lanka 26 9
Sudan 49 17
Sweden 12 11
Switzerland 12 9
Syria 47 14
Tanzania 47 17
Thailand 34 10
Turkey 34 12
USSR 18 9
Uganda 48 17
United Kingdom 12 12
Upper Volta 50 28
Venezuela 36 6
Vietnam 42 17
Yugoslavia 18 8
Zaire 45 18
;
%plotit(data=vital, vtoh=1.75, datatype=curve2)
%plotit(data=vital, vtoh=1.75, datatype=curve2, bright=128,
symvar=country, regfun=msp, regopts=nkn=2)
title 'Some Functions';
data x;
inc = 0.1; keep x y _type_;
do x = inc to 10 by inc;
y = log(x); _type_ = 'log '; output;
y = sqrt(x); _type_ = 'sqrt'; output;
y = sin(x); _type_ = 'sin '; output;
y = cos(x); _type_ = 'cos '; output;
y = log2(x); _type_ = 'log2'; output;
end;
run;
%plotit(data=x, datatype=function)
title 'A Function And Its Derivative And Integral';
data x;
keep x y _type_;
inc = 0.1; int = 0; oldy = exp(-0.5 * ((-2 - inc) ** 2));
do x = -2 to 2 by inc;
y = exp(-0.5 * (x ** 2));
_type_ = 'Function '; output; ty = y;
y = (y - oldy) / inc;
_type_ = 'Derivative'; output; oldy = ty;
int = int + ty * inc; y = int;
_type_ = 'Integral'; output;
end;
run;
%plotit(data=x, datatype=function, symvar=_type_, symlen=10,
adjust5=%str(if first.obstype or last.obstype then do;
output; size=0.5; if first.obstype then position = '<';
else position = '>'; function = 'LABEL'; output; end;))
title 'Artificial Profiles for Four Groups';
data x;
do x = 1 to 5;
_type_ = 'A'; y = .1 + log10(x); output;
_type_ = 'B'; y = .2 + log(x); output;
_type_ = 'C'; y = .3 + log2(x); output;
_type_ = 'D'; y = .5 + sqrt(x); output;
output;
end;
run;
%plotit(data=x, datatype=function, plotvars=y x,
adjust5=%str(output; function = 'LABEL'; text = obstype;))
title ;
footnote 'Artificial Profiles for Four Groups';
%plotit(data=x, datatype=function, plotvars=y x, extend=-1 . . -1,
framecol=&cback, href=0, vref=0, options=noback,
adjust5=%str(output; function = 'LABEL'; text = obstype;),
adjust4=%str(
if index(comment, 'vref') or index(comment, 'href')
then color = 'black';
if index(comment, 'text, x') then y = y + 1;
if index(comment, 'text, y') then x = x + 2;))
footnote;
title 'Regression Function';
title2 'Make Points with the Largest Residuals Magenta and Red';
data x;
do x = 1 to 10 by 0.1;
y = 4 + sin(x) + normal(7);
output;
end;
run;
proc transreg data=x;
model ide(y) = spl(x / nkn=4);
output p r out=res;
run;
data res2;
set res;
ry = abs(ry);
_type_ = 'd'; output;
_type_ = 'p'; y = py; output;
run;
%plotit(data=res2, plotvars=y x, types=d p, labelvar=_blank_,
symtype=symbol function, paint=ry);
title 'Cowboy Hat';
data hat;
_type_ = 1;
do x = -5 to 5 by 0.2;
do y = -5 to 5 by 0.2;
z = sin(sqrt(x * x + y * y));
output;
end;
end;
run;
%plotit(data=hat, plotvars=y x, paint=z, datatype=contour,
options=expand, extend=close)
title 'Spiral';
data x;
stop = 3.1415 * 32;
do i = 0 to stop by 0.1;
x = 0.1 * i * cos(i);
y = 0.1 * i * sin(i);
output;
end;
run;
%plotit(data=x, plotvars=y x, paint=i,
adjust4=%str(
if text = 'star' then do;
size = 2;
if n = 1 then function = 'MOVE';
else function = 'DRAW';
end;))
title 'Wall Paper';
data x;
do x = -5 to 5 by 0.1;
do y = -5 to 5 by 0.1;
z = sqrt((x - round(x)) ** 2 + (y - round(y)) ** 2);
output;
end;
end;
run;
%plotit(data=x, datatype=contour, extend=close, plotvars=y x,
options=expand, paint=z red orange yellow magenta blue)
title 'A Contour Plot of the Swirl Data Set';
data swirl;
do x = -5 to 5 by 0.125;
do y = -5 to 5 by 0.125;
z = x * x + y * y;
if z > 1e-8 then z = x * y * (x * x - y * y) / z;
output;
end;
end;
run;
%plotit(data=swirl, datatype=contour, options=expand, extend=close,
paint=z red orange yellow magenta blue)
title 'Bivariate Normal Density Function';
proc iml;
s = inv({1 0.25 , 0.25 1});
m = -2; n = 2; inc = 0.05; k = 0;
x = j((1 + (n - m) / inc) ** 2, 3, 0);
c = sqrt(det(s)) / (2 * 3.1415);
do i = m to n by inc;
do j = m to n by inc;
v = i || j; z = c * exp(-0.5 * v * s * v`);
k = k + 1; x[k,] = v || z;
end;
end;
create x from x[colname={'x' 'y' 'z'}]; append from x;
quit;
%plotit(datatype=contour, data=x, options=expand, excolors=CXFFFFFF,
paint=z white white yellow orange red magenta blue)
****************************************************************
* Title: Preference Ratings For Recreational Activities *
****************************************************************;
title 'Multidimensional Preference Analysis of Recreational Activities';
data recreate;
input (sub1-sub56) (1.) +1 (Active Relaxing SpectatorSport) (1.) /
activity $27.;
datalines;
81995594778986997959995994679798979839997799899982999839 090
Reading
09730303952308890002030047206103000204109172003105177071 540
Golf
52969324243446595836553383884325711366753545194625434653 090
Watching TV
12849367411106584033051000737158220004817200004207756030 540
Tennis
13311939156005211000222017951301400574021431175004009031 540
Sailing
07003283541004462117095706697507210214408143001513271090 199
Attending a Football Game
80525573612060248733735765174347933215263203392263676907 190
Going to the Symphony
15123140466205898031283028284913100634117311010119200060 540
Softball
07009277641175872112095427896537340517708179051907275590 199
Attending a Basketball Game
79010280115009140007020157451201300177182274620101002202 380
Fishing
88532484130359482461412548471342493574202497842521357238 740
Bicycling
55436757173367411510433252381603555595091357805640757408 740
Hiking
56314552120736451361853959333873610585324627700124058996 740
Swimming
15216312111756420020016000849002580424273059403100093790 830
Running
33231584134220072200052542010601400334103200008013505002 080
Chess
16371850120027280030053008231409010716003101000003000000 640
Racquetball
77647366111259815782454388871684907387262408409845791965 640
Walking
69549314133075512081602179571194906065161043909220094838 480
Gardening
05017328142045570652082204497231010121909200001609156090 640
Basketball
07208556185050783625094005897307050325908158190806353680 099
Watching Sports on TV
25221796180206410021112073492807261696191060850015121408 440
Camping
08000200020000010004000010100000000202022303000004001000 480
Hunting
16224596115228281703040226180006100554114108055233851006 180
Billiards
14522325103124286050052003130706310214504303005203957000 480
Ping Pong
16063535133000368450053133356743500644105443000324158280 540
Volleyball
16158114110500480353440435352465600244444427302112100004 440
Bowling
56858385551954782824874483575575651487575677195815756687 090
Watching a Rented Movie
15432353210029610050000008424680610101054201009111100270 930
Aerobics
42719802100206672030021000691605070144062802500027100220 640
Snow Skiing
00710100000040507090400022300000702004030100209010000644 180
Sewing
76985675521954786837885773588755933585266777155756354738 190
Going to a Movie
67708372497000787145096304299626210514137425013625550564 199
Attending a Baseball Game
;
proc prinqual cor data=recreate out=b score std rep;
transform identity(sub:);
id activity active relaxing spectatorsport;
run;
%plotit(data=b, datatype=mdpref 3)
%plotit(data=b, datatype=mdpref2 3, symlen=2, vechead=,
adjust1=%str(
if _type_ = 'CORR' then do;
__symbol = substr(activity,4);
__ssize = 0.7;
activity = ' ';
end;))
proc transreg data=b;
title2 'Preference Mapping';
model ide(active relaxing spectatorsport) = ide(prin1 prin2);
output out=vector coo replace;
id activity;
run;
%plotit(data=vector, datatype=vector 1.2)
proc transreg data=b;
model ide(active relaxing spectatorsport) = point(prin1 prin2);
output out=point coo replace;
id activity;
run;
%plotit(data=point, datatype=ideal, antiidea=1)
options nogstyle;
title 'Heteroscedastic AR(1) Covariance Matrix';
data x;
input col1-col7;
x = _n_;
array c[7] col1-col7;
do y = 1 to 7;
z = c[y];
t = 1; l = ' '; output;
t = 2; l = put(z,5.2); output;
end;
drop col1-col7;
datalines;
2.56694 2.52647 2.78644 2.9153 2.3903 2.1764 1.6605
2.52647 4.24754 4.68460 4.9013 4.0187 3.6590 2.7917
2.78644 4.68460 8.82537 9.2335 7.5708 6.8932 5.2594
2.91531 4.90126 9.23354 16.5017 13.5302 12.3191 9.3992
2.39034 4.01868 7.57083 13.5302 18.9497 17.2535 13.1641
2.17638 3.65896 6.89316 12.3191 17.2535 26.8335 20.4735
1.66054 2.79173 5.25936 9.3992 13.1641 20.4735 26.6828
;
%plotit(data=x, symvar=l, labelvar=_blank_, symlen=5, typevar=t,
color=&cback, excolors=&cback, tickcol=black, titlecol=black,
colors=black, plotopts=vreverse, exttypes=contour, font=none,
rgbtypes=contour, types=1 2, symtype=contour symbol,
symfont=solid none, paint=z violet orange red, options=expand,
adjust4=%str(if comment =: 'text, x tick' then y = top + 2;
if comment =: 'text, title' then y = bottom;
))
title "Kuhfeld's Comet";
data x;
keep y x l z _type_;
pi = 3.1415;
inc = pi / 64;
_type_ = '0';
do t = -pi + inc to pi by inc;
x = cos(t) - 3;
y = sin(t) - 3;
z = x + y;
l = ' ';
output;
end;
x = -3; y = -3; z = x + y; _type_ = '1'; output;
run;
%plotit(data=x, lsizes=0 0 1 10 0, color=&cback, titlecol=blue,
colors=red, symtype=vector circle, options=noback, font=none,
symbols='', vechead=, radii=0 to 1 by .05)
title 'Love Birds';
data x;
pi = 3.1415; inc = pi / 64; drop pi inc;
t = 1;
do x = -pi to 1.25 * pi by inc; y = sin(x); output; end;
t = 2;
do x = -0.75 * pi to 1.5 * pi by inc; y = cos(x); output; end;
t = 3;
do x = 0.625 * pi to 1.25 * pi by inc;
y = 0.22 + cos(x - pi / 8); output;
end;
t = 4;
do x = -0.75 * pi to -0.125 * pi by inc;
y = 0.22 + sin(x + pi / 8); output;
end;
run;
%plotit(data=x, color=&cback, titlecol=blue, plotvars=y x, font=none,
options=noback, colors=blue, typevar=t, datatype=function)
title 'Bowtie';
data x;
pi = 3.1415; inc = pi / 64; drop pi inc;
do x = -1.5 * pi to 1.5 * pi by inc;
y = cos(x); output;
y = -y; ; output;
end;
run;
%plotit(data=x, plotvars=y x, symtype=vector, vechead=, color=&cback,
titlecol=red, rgbround=0 16 16 16, symbols='', bright=128,
options=noback, britypes=vector, font=none)
options gstyle;