SAS System 8 以降では、SAS/STATのプロシジャを実行して得た結果をすべてSASデータセットとして出力することが可能になったと聞きました。 どのように実行するのでしょうか?
SAS System 8 以降では、ODS(アウトプット・デリバリ・システム)の機能を利用して、すべての解析結果をSASデータセットへ出力できるようになりました。この機能は、Base SAS、SAS/ETSなどでも利用可能です。実行手順としては以下のようになります。
ODS OUTPUT ODSテーブル名 = 出力先のSASデータセット名 ;
たとえば、GLMプロシジャで出力される下記の分散分析表(ANOVA表)をSASデータセットに出力するには、以下のように実行します。
Sum of
Source DF Squares Mean Square F Value Pr > F
Model 2 579.5000000 289.7500000 14.61 0.0015
Error 9 178.5000000 19.8333333
Corrected Total 11 758.0000000
/** GLMプロシジャの出力に関する情報をLOGウィンドウに出力します。**/
ODS TRACE ON;
/** GLMプロシジャの実行 **/
PROC GLM DATA=data1;
CLASS group;
MODEL resp=group;
RUN;
QUIT;
/** ODS TRACEステートメントの解除 **/
ODS TRACE OFF;
Output Added:
-------------
名前 : ClassLevels <--- ODSテーブル名
ラベル : Class Levels
テンプレート : STAT.GLM.ClassLevels
パス : GLM.Data.ClassLevels
-------------
Output Added:
-------------
名前 : NObs <--- ODSテーブル名
ラベル : Number of Observations
テンプレート : Stat.GLM.NObs
パス : GLM.Data.NObs
-------------
Output Added:
-------------
名前 : OverallANOVA <--- ODSテーブル名
ラベル : Overall ANOVA
テンプレート : stat.GLM.OverallANOVA
パス : GLM.ANOVA.resp.OverallANOVA
-------------
(後略)
上記の出力から、出力したい分散分析表のODSステートメントで使用するODSテーブル名「OverallANOVA」を取得します。
/** ODS OUTPUTステートメントを利用してデータセットを作成 **/
ODS OUTPUT OverallANOVA=out1; /** 名前=出力するデータセット名 **/
PROC GLM DATA=data1;
CLASS group;
MODEL resp=group;
RUN;
QUIT;
/** 出力したデータセットの確認 **/
PROC PRINT DATA=out1;
RUN;
OBS Dependent Source DF SS MS FValue ProbF 1 resp Model 2 579.5000000 289.7500000 14.61 0.001 2 resp Error 9 178.5000000 19.8333333 _ _ 3 resp Corrected Total 11 758.0000000 _ _ _
注1 |
ODSテーブル名の確認方法として、ODS TRACEステートメントでLISTINGオプションを指定すると、LOGウィンドウではなくOUTPUTウィンドウへテーブル名などの情報が出力されます。
また、ODSテーブル名はSAS/STATやSAS/ETSのドキュメントにも記載されています。SAS9以降では、Base SASのプロシジャのドキュメントにおいてもテーブル名の一覧が記載されるようになりました。 |
注2 |
1つのODS OUTPUTステートメントで、複数のアウトプットオブジェクトに対してSASデータセットを作成することが可能です。
|
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
コミュニティの基本的なガイドラインについてご説明します。まずは、こちらをご参照ください。
SAS Support CommunitiesのFAQはヘルプに記載されています。参照方法は、こちらからご確認ください。
Japan SAS Discussionページに質問や意見(メッセージ)を投稿/返信する方法を簡単にご説明します。