控制 SAS proc 中的小数位数意味着

control the number of decimal places in SAS proc means

我试图通过指定 maxdec=10 来报告我的 proc 意味着输出有 10 位小数。但是,SAS 不会报告超过 7 位小数。 这是我收到的警告: 警告:NDec 值不合适,将使用 BEST 格式。 我很感激任何建议。

如果您查看文档,它指出 MEANS 将根据 MA​​XDEC 的值打印出 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;