【问题标题】:control the number of decimal places in SAS proc means控制 SAS proc 中的小数位数意味着
【发布时间】:2015-02-01 19:26:21
【问题描述】:

我正在尝试通过指定 maxdec=10 来报告我的 proc 表示输出 10 位小数。但是,SAS 报告的小数位不超过 7 位。 这是我得到的警告: 警告:NDec 值不合适,将使用 BEST 格式。 我很感激任何建议。

【问题讨论】:

    标签: sas decimal proc


    【解决方案1】:

    如果您查看文档,它指出 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;
    

    【讨论】:

      【解决方案2】:

      如前所述,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;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多