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 open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
コミュニティの基本的なガイドラインについてご説明します。まずは、こちらをご参照ください。
SAS Support CommunitiesのFAQはヘルプに記載されています。参照方法は、こちらからご確認ください。
Japan SAS Discussionページに質問や意見(メッセージ)を投稿/返信する方法を簡単にご説明します。