1

在 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”选项,通过它我确实在图中获得了符号(没有任何将符号设为粗体的灵活性),但没有运气获得根据需要在图例中添加符号。

请让我知道如何获得'|' 动态地,在情节和图例中也是如此。让我知道是否需要我的任何进一步细节。

提前致谢!

4

0 回答 0