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
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