/**********************************************************************/ options ps=60 nodate nonumber; data track; length type $ 12; input date date7. type $ morning midday evening bedtime; format date date7.; cards; 01JAN92 Insulin 2 6 8 9 01JAN92 Sugar 119 134 126 115 02JAN92 Insulin 2 6 8 9 02JAN92 Sugar 306 179 267 189 03JAN92 Insulin 2 6 8 9 03JAN92 Sugar 229 150 139 140 04JAN92 Insulin 2 5 8 9 04JAN92 Sugar 121 156 200 162 05JAN92 Insulin 2 7 8 8 05JAN92 Sugar 113 205 346 189 06JAN92 Insulin 2 6 8 8 06JAN92 Sugar 78 105 119 122 07JAN92 Insulin 2 6 8 8 07JAN92 Sugar 134 162 128 400 ; proc print data=track; title 'The TRACK Data Set'; run; /**********************************************************************/ proc transpose data=track out=simpletr; run; proc print data=simpletr; title 'The SIMPLETR Data Set'; run; /**********************************************************************/ proc transpose data=track out=blsugar name=time let; id date; run; proc print data=blsugar; title 'The BLSUGAR Data Set'; run; /**********************************************************************/ proc format; picture starfmt 300-high='000999' (fill='*'); run; proc transpose data=track out=blsugar name=time let; attrib _: format=starfmt.; id date; run; proc print data=blsugar; title 'The BLSUGAR Data Set with High Values Flagged'; run; /**********************************************************************/ proc means data=blsugar maxdec=2 mean std; title 'Daily Statistics for Blood Sugar Level'; run; /**********************************************************************/ proc transpose data=track out=bydate; by date; run; proc print data=bydate; title 'The BYDATE Data Set'; run; /**********************************************************************/ proc transpose data=track out=bydate name=time; by date; id type; run; proc print data=bydate; title 'The BYDATE Data Set'; run; /**********************************************************************/ options formdlim=' '; proc means data=bydate mean maxdec=2; class time; var sugar insulin; title 'Mean for Blood Sugar and Insulin'; title2 'for Each Time of Day'; run; proc means data=bydate mean maxdec=2; var sugar insulin; title 'Overall Mean for the Week'; run; /**********************************************************************/ proc gchart data=bydate; block time / sumvar=sugar type=mean; title 'Mean Sugar Levels for Each Time of Day'; run; quit; /**********************************************************************/ proc gchart data=bydate; block time / sumvar=sugar type=mean midpoints='MORNING' 'MIDDAY' 'EVENING' 'BEDTIME'; attrib time label='Time of Day' sugar format=6.2; run; /**********************************************************************/ data transp; input date date7. type1 $ morning midday evening bedtime / @9 type2 $ mornsug noonsug evesug bedsug; array x{4} morning midday evening bedtime; array y{4} mornsug noonsug evesug bedsug; length _name_ $ 8; do i=1 to 4; call vname(x{i},_name_); col1=x{i}; col2=y{i}; output; end; attrib date format=date7.; keep date _name_ col1 col2; cards; 01JAN92 Insulin 2 6 8 9 01JAN92 Sugar 119 134 126 115 02JAN92 Insulin 2 6 8 9 02JAN92 Sugar 306 179 267 189 03JAN92 Insulin 2 6 8 9 03JAN92 Sugar 229 150 139 140 04JAN92 Insulin 2 5 8 9 04JAN92 Sugar 121 156 200 162 05JAN92 Insulin 2 7 8 8 05JAN92 Sugar 113 205 346 189 06JAN92 Insulin 2 6 8 8 06JAN92 Sugar 78 105 119 122 07JAN92 Insulin 2 6 8 8 07JAN92 Sugar 134 162 128 400 ; proc print data=transp; title 'The TRANSP Data Set'; run; /**********************************************************************/