我知道我可以在 PROC TABULATE 中使用命令 KEYLABEL 为统计名称指定自定义标签,即:
KEYLABEL N = ' ' ALL = "总计" PCTN = "百分比" SUM = "总计";
它不适用于 PROC MEANS。有没有等价的命令?我可以使用解决方法来做到这一点吗?我正在运行 SAS 程序并从中自动生成 Latex 标记,因此如果可能,我需要更改 PROC MEANS 命令中报告的 N、SUM、MEAN、MEDIAN、MIN、MAX 列的名称。
谢谢。
我知道我可以在 PROC TABULATE 中使用命令 KEYLABEL 为统计名称指定自定义标签,即:
KEYLABEL N = ' ' ALL = "总计" PCTN = "百分比" SUM = "总计";
它不适用于 PROC MEANS。有没有等价的命令?我可以使用解决方法来做到这一点吗?我正在运行 SAS 程序并从中自动生成 Latex 标记,因此如果可能,我需要更改 PROC MEANS 命令中报告的 N、SUM、MEAN、MEDIAN、MIN、MAX 列的名称。
谢谢。
不幸的是,我认为您不能将 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;