【问题标题】:Create a heat Map in SAS在 SAS 中创建热图
【发布时间】:2014-10-31 03:12:36
【问题描述】:

我希望在 SAS 中创建热图。我有一个很大的 x,y 坐标数据集,就是这样。从阅读所有内容开始,我需要使用以下内容为坐标创建一个“计数”:

 proc kde data=dataSet;
     bivar X Y / out=outputDataSet;
 run;

接下来,我需要为热图创建一个模板——我找到了这个示例代码,但我不确定一切都在做什么:

proc template;
   define statgraph heatmapparm;
     begingraph;
       layout overlay;
         heatmapparm x=value1 y=value2 colorresponse=count /
             name="heatmapparm" xbinaxis=false ybinaxis=false;
         continuouslegend "heatmapparm" / location=outside valign=bottom;
       endlayout;
     endgraph;
end;
run;

我假设我需要将变量插入 x 和 y 点,并将计数插入颜色响应位置,然后使用这样的代码来获取热图:

proc sgrender data=outputDataSet template=heatmapparm;
run;

此代码导致错误消息并且没有图形输出,因为它“缺少参数”。任何帮助都会很棒。谢谢!

【问题讨论】:

    标签: graph sas heatmap


    【解决方案1】:

    Rick Wicklin 在他的博客The DO Loop 上很好地解释了这一点。

    您应该查找有关图形模板语言 (GTL) 的教程,例如 Sanjay Matange(包括 GTL 在内的 ODS 图形系统的首席开发人员)。他写了一本关于这个主题的书,或者你可以阅读他的论文,例如this introduction

    基本上,是的,你应该用你的 x/y 变量填充 x= 和 y=,colorresponse= 用定义计数的变量(如何制作红/蓝)。

    这是一个例子。这里我们使用dynamic variables,这意味着您可以在SGRENDER 步骤中定义相关变量。 Rick 在他的博客文章中展示了这一点,我使用了一个稍微简化的版本。您可以完全按原样使用PROC TEMPLATE,只需更改 SGRENDER 以引用您的数据集和变量。 test 数据集只是虚构的数据,会生成有趣的热图。

    proc template;
       define statgraph heatmapparm;
        dynamic _X _Y _Z;
         begingraph;
           layout overlay;
             heatmapparm x=_X y=_Y colorresponse=_Z/
                 name="heatmapparm" xbinaxis=false ybinaxis=false;
             continuouslegend "heatmapparm" / location=outside valign=bottom;
           endlayout;
         endgraph;
      end;
    run;
    
    data test;
      call streaminit(7);
      do x = 1 to 10;
        do y = 1 to 10;
          count_var = rand('Normal',(x+y)/2);
          output;
        end;
      end;
    run;
    
    
    proc sgrender data=test template=heatmapparm;
    dynamic _X='x' _Y='y' _Z='count_var';
    run;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-20
      • 1970-01-01
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      • 2021-12-12
      相关资源
      最近更新 更多