SAS:向lst输出文件添加注释
在SAS中,如何向.LST输出文件添加注释。就像在执行proc打印之前添加一条注释“这是tbl_TestMacro的输出”一样?以便我的输出文件将读取:SAS:向lst输出文件添加注释,sas,Sas,在SAS中,如何向.LST输出文件添加注释。就像在执行proc打印之前添加一条注释“这是tbl_TestMacro的输出”一样?以便我的输出文件将读取: This is the output for tbl_TestMacro: Obs field1 field2 1 6 8 2 6 9 3 7 0 4 7 1 而不仅仅是: Obs
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
谢谢,Dan,在数字计算语言问题(如SAS和R)上,你可能会有更多的运气 但无论如何,我会试试看。两者都适用于您的目的:
title "This is the output for tbl_TestMacro:";
或
我相信“put”将把答案放在日志中,而不是列表中
标题会起作用,但它只会将标题放在页面顶部
SAS中没有优雅的方式将文本注释与输出相结合。我所知道的最好的工具是SASweave和StatWeave,它们都是由Russ Lenth开发的。他们可能需要比你愿意付出更多的时间投入。或者,你可以用R和swave
然而,一种丑陋的方法是使用所需的文本创建数据集,并使用如下例程:
data mytext;
text = "This is the output for tbl_TestMacro";
run;
proc print noobs data = mytext split='*';
var text;
label text = '*';
run;
(本来应该有一个更好的无变量标签快捷方式,但我没能让它工作。)或者你可以这样做
data _null_;
file print;
put "this is the output";
file log;
run;
有关更改“put”目的地的更多信息,请参阅。这更像是一个编程问题,更适合于;它将自动迁移到那里。看起来您已经有一个关联的SO帐户,因此您应该自动维护所有权。标题是我的建议。请记住,标题将显示在所有列表输出上,直到您将其清空或覆盖。并且“put”将把文本放入日志中,除非您另有指示——请参见下面的Ken的答案和我的答案。
data _null_;
file print;
put "this is the output";
file log;
run;