24.04.2014 Views

Pratique de Sas Windows ...9.3 Volume 2 - Ined

Pratique de Sas Windows ...9.3 Volume 2 - Ined

Pratique de Sas Windows ...9.3 Volume 2 - Ined

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.5.4 Amélioration du graphique <strong>de</strong> type statgraph par modification du template graphique<br />

Devant le fait que les données <strong>de</strong> survie restent à un niveau élevé <strong>de</strong> probabilité <strong>de</strong> survie, il est nécessaire<br />

d’aménager cette échelle <strong>de</strong> probabilité pour que visuellement, on puisse voir si les <strong>de</strong>ux groupes/strates se<br />

distinguent. Avec l’ ODS Graphic Editor (SGE vu en 3.3), il n’est pas possible <strong>de</strong> réajuster les valeurs <strong>de</strong>s axes.<br />

Il nous faut donc nous plonger dans la découverte du co<strong>de</strong> du template <strong>de</strong> ce statgraph <strong>de</strong> nom<br />

productlimitsurvival et il faudra essayer <strong>de</strong> comprendre quelque peu sa structure pour y découvrir l’élément à<br />

modifier qui est le co<strong>de</strong> tickvaluelist=(0 .2 .4 .6 .8 1.0))); apparaissant dans l’essai initial.<br />

Voir remarque concernant le GTL, page 117 en fin du point13 : cela peut vous ai<strong>de</strong>r face à ce type <strong>de</strong> co<strong>de</strong> <strong>Sas</strong>.<br />

proc template;<br />

<strong>de</strong>fine statgraph Stat.Lifetest.Graphics.ProductLimitSurvival;<br />

dynamic NStrata xName plotAtRisk plotCensored plotCL plotHW plotEP labelCL labelHW labelEP<br />

maxTime xtickVals xtickValFitPol method StratumID classAtRisk<br />

plotBand plotTest GroupName yMin Transparency SecondTitle TestName pValue;<br />

BeginGraph;<br />

if (NSTRATA=1)<br />

if (EXISTS(STRATUMID))<br />

entrytitle "Kaplan Meier plot" " pour " STRATUMID;<br />

else<br />

entrytitle "Kaplan Meier plot";<br />

endif;<br />

if (PLOTATRISK)<br />

entrytitle "avec le nombre <strong>de</strong> sujets à risque" / textattrs=GRAPHVALUETEXT;<br />

endif;<br />

layout overlay / xaxisopts=(shortlabel=XNAME offsetmin=.05<br />

linearopts=(viewmax=MAXTIME tickvaluelist=XTICKVALS<br />

tickvaluefitpolicy=XTICKVALFITPOL))<br />

yaxisopts=(label="Probabilité <strong>de</strong> survie"<br />

shortlabel="Survie" linearopts=(viewmin=0.8 viewmax=1<br />

tickvaluelist=(.8 .87 .88 .89 .90 .91 .92 .93 .94 .95 .96 .97 .98 .99 1.00)));<br />

if (PLOTHW=1 AND PLOTEP=0)<br />

bandplot LimitUpper=HW_UCL LimitLower=HW_LCL x=TIME /<br />

mo<strong>de</strong>lname="Survie" fillattrs=GRAPHCONFIDENCE<br />

name="HW" legendlabel=LABELHW;<br />

endif;<br />

if (PLOTHW=0 AND PLOTEP=1)<br />

bandplot LimitUpper=EP_UCL LimitLower=EP_LCL x=TIME /<br />

mo<strong>de</strong>lname="Survie" fillattrs=GRAPHCONFIDENCE<br />

name="EP" legendlabel=LABELEP;<br />

endif;<br />

if (PLOTHW=1 AND PLOTEP=1)<br />

bandplot LimitUpper=HW_UCL LimitLower=HW_LCL x=TIME / mo<strong>de</strong>lname="Survie"<br />

fillattrs=GRAPHDATA1 datatransparency=.55 name="HW" legendlabel=LABELHW;<br />

bandplot LimitUpper=EP_UCL LimitLower=EP_LCL x=TIME / mo<strong>de</strong>lname="Survie"<br />

fillattrs=GRAPHDATA2 datatransparency=.55 name="EP" legendlabel=LABELEP;<br />

endif;<br />

if (PLOTCL=1)<br />

if (PLOTHW=1 OR PLOTEP=1)<br />

bandplot LimitUpper=SDF_UCL LimitLower=SDF_LCL x=TIME / mo<strong>de</strong>lname="Survie"<br />

display=(outline) outlineattrs=GRAPHPREDICTIONLIMITS name="CL" legendlabel=LABELCL;<br />

else<br />

bandplot LimitUpper=SDF_UCL LimitLower=SDF_LCL x=TIME / mo<strong>de</strong>lname="Survie"<br />

fillattrs=GRAPHCONFIDENCE name="CL" legendlabel=LABELCL;<br />

endif;<br />

endif;<br />

stepplot y=SURVIVAL x=TIME / name="Survival" rolename=(_tip1=ATRISK _tip2=EVENT)<br />

tip=(y x Time _tip1 _tip2) legendlabel="Survie";<br />

if (PLOTCENSORED=1)<br />

scatterplot y=CENSORED x=TIME / markerattrs=(symbol=plus)<br />

name="Censored" legendlabel="Censuré";<br />

endif;<br />

if (PLOTCL=1 OR PLOTHW=1 OR PLOTEP=1)<br />

discretelegend "Censored" "CL" "HW" "EP" / location=outsi<strong>de</strong> halign=center;<br />

else<br />

if (PLOTCENSORED=1)<br />

discretelegend "Censored" / location=insi<strong>de</strong> autoalign=(topright bottomleft);<br />

endif;<br />

endif;<br />

if (PLOTATRISK=1)<br />

innermargin / align=bottom;<br />

blockplot x=TATRISK block=ATRISK / repeatedvalues=true display=(values)<br />

valuehalign=start valuefitpolicy=truncate<br />

labelposition=left labelattrs=GRAPHVALUETEXT<br />

valueattrs=GRAPHDATATEXT (size=7pt) inclu<strong>de</strong>missingclass=false;<br />

129 INED Service Informatique Wielki

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!