【问题标题】:Change Statistic Labels in PROC MEANS (like KEYLABEL in PROC TABULATE)更改 PROC MEANS 中的统计标签(如 PROC TABULATE 中的 KEYLABEL)
【发布时间】:2013-07-17 11:59:16
【问题描述】:

我知道我可以在 PROC TABULATE 中使用命令 KEYLABEL 为统计名称指定自定义标签,即:

KEYLABEL N = ' ' ALL = "Total" PCTN = "Percent" SUM = "Total";

它不适用于 PROC MEANS。有没有等价的命令?我可以使用解决方法来做到这一点吗?我正在运行 SAS 程序并从中自动生成 Latex 标记,因此如果可能,我需要更改 PROC MEANS 命令中报告的 N、SUM、MEAN、MEDIAN、MIN、MAX 列的名称。

谢谢。

【问题讨论】:

  • 如果您在这里没有得到好的答案,我强烈建议您在 SAS Listserv (sas-l@listserv.uga.edu) 上提问。其中一位用户在 *tex 输出方面非常熟练,并且很可能在过去遇到过这种情况。我会看看他写的 SUGI 论文,看看是否有任何帮助。

标签: sas


【解决方案1】:

不幸的是,我认为您不能将 PROC MEANS 中的自动变量标签更改为自定义的。您可以标记变量:

proc means data=sashelp.class;
var age;
label age="Child's Age";
class name;
output out=classmean sum=;
run;

您可以使用 AUTOLABEL 自动附加(默认)标签:

proc means data=sashelp.class;
var age;
label age="Child's Age";
class name;
output out=classmean sum= n= /autoname autolabel;
run;

但我认为你无法控制它。我能想象的最简单的解决方案是编写一个宏来使用 PROC DATASETS [获取已知的变量名称并根据这些名称为它们分配标签]。我不知道你需要做什么,但这并不难。像这样的东西(特别是 proc sql 会根据您的程序而有很大差异)。

%macro relabel(var=);
label &var._n = "&var. Count";
*... more of these ...;
%mend relabel;

proc sql;
select cats('%relabel(var=',name,')') into :rellist separated by ' ' 
  from dictionary.columns
  where memname='MYDATASET' and libname='WORK' and *criteria to determine in proc means*;
quit;
proc datasets;
&rellist.
quit;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-25
    • 2019-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多