0

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

KEYLABEL N = ' ' ALL = "总计" PCTN = "百分比" SUM = "总计";

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

谢谢。

4

1 回答 1

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;
于 2013-07-17T13:37:36.430 回答