代码之家  ›  专栏  ›  技术社区  ›  Dan

SAS:向lst输出文件添加注释

sas
  •  3
  • Dan  · 技术社区  · 14 年前

    在SAS中,如何向.lst输出文件添加注释。就像添加一条注释说“这是tbl_testmarco的输出:”就在进行过程打印之前?这样我的输出文件将读取:

    This is the output for tbl_TestMacro:
    Obs    field1    field2
    
     1        6         8  
     2        6         9  
     3        7         0  
     4        7         1  
    

    而不仅仅是:

    Obs    field1    field2
    
     1        6         8  
     2        6         9  
     3        7         0  
     4        7         1  
    

    谢谢,丹

    3 回复  |  直到 7 年前
        1
  •  2
  •   Lauren Samuels    14 年前

    或者你可以

    data _null_;
        file print;
        put "this is the output";
        file log;
    run;
    

    http://support.sas.com/documentation/cdl/en/lrdict/62618/HTML/default/a000171874.htm 有关更改“Put”目的地的更多信息。

        2
  •  7
  •   Community CDub    7 年前

    你可能真的有更多的运气 stackoverflow 对于数值计算语言问题(如SAS和R)。

    不过我还是要试试看。两个 TITLE PUT 将为您的目的工作:

    title "This is the output for tbl_TestMacro:";
    

    put This is the output for tbl_TestMacro:;
    
        3
  •  2
  •   Triad sou. DaveW    13 年前

    我相信“放”会把答案放在日志里,而不是清单上。

    标题将起作用,但它只将标题放在页面顶部。

    SAS中没有将文本注释与输出相结合的优雅方法。我所知道的最好的工具是Sasweeve和Statweave,它们都是由RussLenth开发的。他们可能需要比你愿意付出更多的时间投入。或者,你可以用r和swave。

    然而,实现这一点的一个丑陋的方法是使用所需的文本创建一个数据集,并使用如下例程:

    data mytext;
    text = "This is the output for tbl_TestMacro";
    run;
    
    proc print noobs data = mytext split='*';
    var text;
    label text = '*';
    run;
    

    (本来应该有一个更好的无变量标签的快捷方式,但我没能让它工作。)