控制 SAS proc 中的小数位数意味着
control the number of decimal places in SAS proc means
我试图通过指定 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;
我试图通过指定 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;