在 SAS 9.3(Windows 平台)中绘制生存图时,我想使用 GTL 或 PROC SGPLOT。我可以使用注解和 PROC GPLOT 完成工作,但需要制作一个我可以根据需要灵活使用的模板。因此,我使用 proc 模板来创建模板。我被困在某一点上,需要指导。
在使用 PROC GPLOT 时,我使用所需符号的注释“|” 如下:
symbol3 interpol=none v =I line=2 HEIGHT=2 font=bold;
我尝试了很多搜索,但无法在 proc 模板(GTL)中找到此语句的替换。我想要“|” 作为生存图中删失观察的符号。此外,相同的符号应在图例中显示为“| | | Censored Observations”。
我试过使用以下模板,但没有运气!
proc template;
define statgraph kmplot;
nmvar _ymin _ymax _yinc _xmin _xmax _xinc;
begingraph /designwidth=9.8in designheight=4.8in border=false ;
discreteattrmap name="treatment" / ignorecase=true;
value "1" / lineattrs=(pattern=1);
value "2" / lineattrs=(pattern=4);
value "3" / lineattrs=(pattern=2);
enddiscreteattrmap;
discreteattrvar attrvar=treatmarkers var=Stratum attrmap="treatment";
legendItem type=line name="line1" / lineattrs=(pattern=1) label="Placebo" ;
legendItem type=line name="line2" / lineattrs=(pattern=4) label="TRTA" ;
legendItem type=line name="line3" / lineattrs=(pattern=2) label="TRTB" ;
legendItem type=marker name="censormkr" / markerattrs=(symbol=plus Weight=bold) label="Censored Observations" ;
layout overlay / yaxisopts=(linearopts=(viewmin=_ymin viewmax=_ymax tickvaluesequence=(start=_ymin end=_ymax increment=_yinc))label = "Log Negative Log SDF" )
xaxisopts=(linearopts=(viewmin=_xmin viewmax=_xmax tickvaluesequence=(start=_xmin end=_xmax increment=_xinc)) label="Log of Time (Days)")
walldisplay=all;
stepplot x=time y=survival / group=treatmarkers lineattrs=(color=black) name="trtlgnd";
scatterplot x=time y=survival / group=Stratum /*markerchar=flag*/ markerattrs=(symbol=plus Weight=bold color=black) name="censored";
referenceline y=.5;
*mergedlegend 'trtlgnd' 'censored';
discretelegend "line1" "line2" "line3" "censormkr"/ valueattrs=(size=10pt) autoitemsize=true location=inside across=1 autoalign=(topright);
endlayout;
endgraph;
end;
跑;
我还尝试通过创建一个包含所需符号的标志变量来使用“markerchar = flag”选项,通过它我确实在图中获得了符号(没有任何将符号设为粗体的灵活性),但没有运气获得根据需要在图例中添加符号。
请让我知道如何获得'|' 动态地,在情节和图例中也是如此。让我知道是否需要我的任何进一步细节。
提前致谢!