【发布时间】:2015-02-01 19:26:21
【问题描述】:
我正在尝试通过指定 maxdec=10 来报告我的 proc 表示输出 10 位小数。但是,SAS 报告的小数位不超过 7 位。 这是我得到的警告: 警告:NDec 值不合适,将使用 BEST 格式。 我很感激任何建议。
【问题讨论】:
我正在尝试通过指定 maxdec=10 来报告我的 proc 表示输出 10 位小数。但是,SAS 报告的小数位不超过 7 位。 这是我得到的警告: 警告:NDec 值不合适,将使用 BEST 格式。 我很感激任何建议。
【问题讨论】:
如果您查看文档,它指出 MEANS 将根据 MAXDEC 的值打印出 0-8 位小数。如果您想要更多,您需要保存结果并自己打印。
试试这个:
data test;
format x 12.11;
do i=1 to 1000;
x = rannor(0);
output;
end;
drop i;
run;
proc means data=test noprint;
var x;
output out=means_out mean=mean std=std;
run;
proc print data=means_out noobs;
var mean std;
format mean std 12.11;
run;
【讨论】:
如前所述,maxdec= 用于将小数位数限制在 8 位以下。Proc means 不会让您做太多事情来更改汇总统计信息的格式。我建议使用proc tabulate:
如果您的proc means 看起来像:
proc means data=yourdata;
var yourvariable;
run;
比使用类似的东西:
proc tabulate data=yourdata;
var yourvariable;
table yourvariable*
(n
mean*format=15.10
stddev*format=15.10
min*format=15.10
max*format=15.10);
run;
【讨论】: