Output and graphics from statistical programming packages are often time-consuming to read and interpret. In peer-reviewed publications you usually provide both a written assessment, tables and graphics illustrating data and analysis results. ANOVA analysis is still a very common analysis technique and it is possible to beautify the output from analysis using PROC SGPLOT
ods graphics;
proc format lib=work;
value timevar
12=’0-12 hrs’
18=’12-18 hrs’
24=’18-24 hrs’
32=’Cumulated 0-24 hrs’
;
run;
proc sql;
create table estimates
( Treatment char(12) label=’Treatment Group’
, Time num label=’Visit number’
, Time2 num label=’Visit number’
, TimeVar char(18) label=’Visit number’
, Mark char(8) label=’p values’
, Est num label=’Est’
, LCL num label=’LCL’
, UCL num label=’UCL’
)
;
insert into estimates
values(‘Control’, 12, 12, ‘0-12 hrs’, ”,87.5000,65.9552,109.0448)
values(‘Control’, 18, 18, ’12-18 hrs’, ”,23.1250,15.7518,30.4982)
values(‘Control’, 24, 24, ’18-24 hrs’, ”,16.8750,10.3570,23.3930)
values(‘Control’, 32, .,’Cumulated 0-24 hrs’, ”,127.7083,101.1505,154.2661)
values(‘Intervention’, 12, 12, ‘0-12 hrs’, ‘p=0.0159’,50.0000,28.4552,71.5448)
values(‘Intervention’, 18, 18, ’12-18 hrs’, ‘p=0.0256’,11.2500,3.8768,18.6232)
values(‘Intervention’, 24, 24, ’18-24 hrs’, ‘p=0.0462’,7.5000,0.9820,14.0180)
values(‘Intervention’, 32, .,’Cumulated 0-24 hrs’, ‘p=0.0023’,69.3750,42.8172,95.9328)
;
quit;
title ‘Morphine consumption during postop’;
proc sgplot data=estimates; format Time Time2 timevar.; scatter x=Time y=est / yerrorlower=LCL yerrorupper=UCL group=Treatment groupdisplay=cluster clusterwidth=0.2 errorbarattrs=(thickness=1) datalabel=Mark DATALABELPOS=BOTTOMRIGHT DATALABELATTRS=(color=BLACK); series x=Time2 y=est / lineattrs=(pattern=solid) group=Treatment groupdisplay=cluster clusterwidth=0.2 lineattrs=(thickness=2) name=’s’; yaxis label=’Mean with 95% CL’ grid; xaxis display=(nolabel); keylegend ‘s’ / title=’Treatment’; run;
proc sgplot data=estimates; format Time Time2 timevar.; scatter x=Time y=est / yerrorlower=LCL yerrorupper=UCL group=Treatment groupdisplay=cluster clusterwidth=0.2 errorbarattrs=(thickness=1) DATALABELPOS=BOTTOMRIGHT DATALABELATTRS=(color=BLACK); series x=Time2 y=est / lineattrs=(pattern=solid) group=Treatment groupdisplay=cluster clusterwidth=0.2 lineattrs=(thickness=2) name=’s’; yaxis label=’Mean with 95% CL’ grid; xaxis display=(nolabel); run;
Comments