修改SAS統計過程輸出結果的小數位數


本文鏈接:https://www.cnblogs.com/snoopy1866/p/16047222.html

修改輸出到數據集中的格式

結合ODS TRACE語句與ODS OUTPUT語句可以將任意過程步的結果輸出至數據集中,以便進一步處理。某些情況下,SAS輸出結果提供的小數位數可能不符合實際輸出的要求,這時候就需要修改默認的數值輸出格式了。
例如:使用PROC MEANS過程對數據集sashelp.class中的height變量進行匯總統計。

ods trace on;
ods output Summary = Summary;
proc means data = sashelp.class;
  var height;
run;
ods trace off;


將均值與標准差修改成想要的輸出格式:

proc datasets noprint;
    modify Summary;
        format Height_Mean Height_StdDev 5.2;
quit;

修改輸出到結果查看器中的格式

如果還需要同時修改結果查看器中的輸出格式,就需要使用到模板了。
ODS TRACE ON和ODS TRACE OFF組合使用會在日志中打印過程步包含的可輸出的對象及對象的屬性,其中包括對象使用的模板:

在命令窗口中輸入"odstemplates",打開模板查看器,依次展開"Sashelp.Tmplmst -> Base -> Summary",雙擊"Summary"即可查看模板源代碼,或者使用source語句在日志中顯示源代碼:

proc template;
    source base.summary;
run;

找到要修改的變量名,然后使用edit語句進行輸出格式的修改:

ODS PATH WORK.TEMPLAT(UPDATE) SASHELP.Tmplmst(READ); /*修改后的模板保存在work.templat中*/
proc template;
    edit base.summary;
        edit mean;
            format = 5.2;
        end;
        edit stddev;
            format = 5.2;
        end;
        edit min;
            format = 4.1;
        end;
        edit max;
            format = 4.1;
        end;
    end;
run;

重新運行PROC MEANS過程,結果如下:

為防止修改后的模板對其他輸出結果產生影響,最好及時刪除work.templat中的臨時模板,恢復為默認模板。

proc template;
    delete base.summary;
run;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM