我在SAS中使用模板和sgrender来创建基于不同类变量的热图。我希望输出每次都根据类变量更新标题,以获得类变量的值。到目前为止,我的代码是这样的(如果我告诉它,它会打印一个字符串标题,但我不能根据变量来改变它):
proc template;
define statgraph heatmapparm;
begingraph;
entrytitle 'INSERT TITLE HERE'; *Update title here based on classVar;
layout overlay;
heatmapparm x=magX2 y=magZ2 colorresponse=percent / colormodel=(blue yellow red)
name="heatmapparm" xbinaxis=false ybinaxis=false datatransparency=0;
continuouslegend "heatmapparm" / location=outside valign=bottom;
endlayout;
endgraph;
end;
run;
title #byval(classVar);
proc sgrender data=dataSet template=heatmapparm;
by classVar;
run;
谢谢大家!
答案 0 :(得分:0)
使用宏变量来改变标题。这是一个例子
%let classVar=VARIABLEVALUE1;
title &classVar.;
proc sgrender data=dataSet template=heatmapparm;
by &classVar.;
run;
您可以通过将proc sgrender代码放在SAS MACRO中来编写更干净的代码。