*** SAS file generated by sastangle ***; options nocenter nodate nonumber ls=80 formdlim=''; *** Code chunk number 1 ***; proc import datafile='c:/book/help.csv' out=ds dbms=dlm; delimiter=','; getnames=yes; run; *** Code chunk number 2 ***; goptions hsize = 4 in vsize = 4 in; axis1 minor=none; axis2 minor=none order=(5 to 60 by 13.625); axis3 minor=none order=(20, 40, 60); symbol1 i=sm65s v=circle color=black l=1 w=5; symbol2 i=sm65s v=triangle color=black l=2 w=5; proc gplot data=ds; where female eq 1 and substance eq 'alcohol'; plot indtot*cesd / vaxis=axis1 haxis=axis3; plot2 mcs*cesd / vaxis = axis2; run; quit; *** Code chunk number 3 ***; proc sgpanel data=ds; panelby g1b substance / layout=lattice; pbspline x=cesd y=mcs; run; quit; *** Code chunk number 4 ***; /* content of scatterhist.sas follows */ proc template; define statgraph scatterhist; dynamic XVAR YVAR XTYPE YTYPE TITLE; begingraph / designwidth=600px designheight=400px borderattrs=(thickness=3px); entrytitle TITLE; layout lattice / rows=2 columns=2 rowweights=(.2 .8) columnweights=(.8 .2) rowdatarange=union columndatarange=union rowgutter=0 columngutter=0; /* histogram or barchart at X2 axis position */ layout overlay / walldisplay=(fill) wallcolor=GraphBackground:color xaxisopts=(display=none) yaxisopts=(display=none offsetmin=0); if (upcase(XTYPE) = "DISCRETE") barchart x=XVAR / barwidth=1 stat=pct; else histogram XVAR / binaxis=false; endif; endlayout; /* NOBS count cell */ layout overlay; entry 'NOBS = ' eval(n(XVAR)); endlayout; /* scatter plot with conditional axis types */ layout overlay / xaxisopts=(type=XTYPE) yaxisopts=(type=YTYPE); scatterplot y=YVAR x=XVAR / datatransparency=.95 markerattrs=(symbol=circlefilled size=11px); endlayout; /* histogram or barchart at Y2 axis position */ layout overlay / walldisplay=(fill) wallcolor=GraphBackground:color xaxisopts=(display=none offsetmin=0) yaxisopts=(display=none); if (upcase(YTYPE) = "DISCRETE") barchart x=YVAR / barwidth=1 orient=horizontal stat=pct; else histogram YVAR / orient=horizontal binaxis=false; endif; endlayout; endlayout; endgraph; end; run; proc template; define Style ScatterHistStyle; parent = styles.journal; style GraphFonts from GraphFonts "Fonts used in graph styles" / 'GraphTitleFont' = (", ",10pt,bold) 'GraphFootnoteFont' = (", ",8pt) 'GraphLabelFont' = (", ",8pt) 'GraphValueFont' = (", ",7pt) 'GraphDataFont' = (", ",7pt); end; run; *** Code chunk number 5 ***; proc sgrender data=ds template=scatterhist; dynamic YVAR="PCS" XVAR="MCS"; run; ods pdf close; ods graphics off; *** Code chunk number 6 ***; *** Code chunk number 7 ***; ods select censoredsummary; proc lifetest data=ds plots=s(test); time dayslink*linkstatus(0); strata treat; run; *** Code chunk number 8 ***; ods select survivalplot; proc lifetest data=ds plots=s(test); time dayslink*linkstatus(0); strata treat; run; *** Code chunk number 9 ***; ods select roccurve; proc logistic data=ds descending plots(only)=roc; model g1b = cesd; run; *** Code chunk number 10 ***; proc sgscatter data=ds; where female eq 1; matrix cesd mcs pcs i1 / diagonal=(histogram kernel); run; quit; *** Code chunk number 11 ***; *** Code chunk number 12 ***; ods graphics / noborder height = 4 in width = 4 in; proc sgscatter data=ds; matrix mcs pcs pss_fr drugrisk cesd indtot i1 sexrisk / ellipse=(alpha=.25) start=bottomleft markerattrs=(symbol=circlefilled size=4); run; quit;