/*
Try medal graph:
https://blogs.sas.com/content/graphicallyspeaking/2014/02/12/sochi-medal-graphs/
*/
data have;
infile cards ;
input country $80. (month1 month3 month12) ($80.);
id+1;
cards;
Arousal/Fatigue
0.8 (0.4, 1.2)
0.7 (0.6, 0.8)
0.7 (0.6, 0.8)
Spasticity
0.6 (0.3, 0.9)
0.7 (0.6, 0.8)
0.7 (0.6, 0.8)
Mood disorder
0.2 (0.1, 0.4)
0.7 (0.6, 0.8)
0.81 (0.80, 0.82)
Sleep disturbance
0.3(0.1, 0.5)
0.8 (0.7, 0.9)
0.84 (0.82, 0.86)
Neurogenic bladder
0.4 (0.2, 0.6)
0.7 (0.6, 0.8)
0.81 (0.79, 0.83)
Neurogenic bowel
0.9 (0.8, 0.99)
1.00 (0.99, 1.01)
1.01 (1.01, 1.02)
Seizure
0.8 (0.7, 0.9)
0.92 (0.91, 0.94)
0.95 (0.94, 0.96)
;
proc transpose data=have out=temp;
by id country;
var month: ;
run;
data want;
set temp;
mean=input(scan(col1,1,' (),'),best.);
lower=input(scan(col1,2,' (),'),best.);
upper=input(scan(col1,3,' (),'),best.);
run;
title;
proc sgpanel data=want noautolegend;
panelby _NAME_ / layout=panel columns=3 onepanel sort=data novarname spacing=5 PROPORTIONAL uniscale=row;
scatter x=mean y=country /xerrorlower=lower xerrorupper=upper group=_NAME_ markerattrs=(symbol=circlefilled size=10);
rowaxis discreteorder=data display=(nolabel) fitpolicy=none colorbands=even;
colaxis integer display=(nolabel noticks) ;
refline 1/axis=x lineattrs=(pattern=dash) ;
run;
... View more