REGプロシジャで解析に使用されたオブザベーション数をSASデータセットへ出力する方法
[OS] ALL
[リリース] 6.12 以降
[キーワード] ODS OUTPUT, OUTEST=, EDF
[質問]REGプロシジャを実行した際、分析で使用されたオブザベーション数をデータセットへ出力するにはどうしたらよいでしょうか? [回答]SAS 9.1以降では、ODS OUTPUT ステートメントを使用してオブザベーション数のテーブル(Nobsテーブル)をデータセットへ出力できます。NObsテーブルには、分析において読み込まれたオブザベーション数と、使用されたオブザベーション数が含まれています。FREQステートメントが指定された場合、使用されたオブザベーション数は度数の合計となり、この情報もNobsテーブルで得られます。たとえば以下のようにステートメントを記述すると、numobsという名前のデータセットにNobsテーブルは書き込まれます。 ODS OUTPUT NOBS=numobs; PROC REG DATA=in; MODEL y=x; RUN; QUIT; NObsテーブルは、数多くのプロシジャで利用できることに留意してください。 SAS 8 以降では、ODS OUTPUTステートメントを利用して、分散分析表(ANOVAテーブル)をデータセットに出力することができます。 ODS OUTPUT ANOVA=outds; /* データセットoutdsに出力 */ PROC REG DATA=in; MODEL y=x; RUN; QUIT; このデータセット(上記ではoutds)には、切片を含むモデルの場合には修正された総自由度(Corrected Total degrees of freedom)が出力されます。切片がモデルに含まれていない場合には、無修正の総自由度(Uncorrected Total degrees of freedom)が含まれます。分析に用いられたオブザベーション数は、それぞれ修正された総自由度に1を加えた値、または無修正の総自由度と等しくなります。 SAS 6.12以降では、PROC REGステートメントでOUTEST=、およびEDFオプション(またはRSQUAREオプション)を用いると、変数_P_ (推定されたパラメータの数)と_EDF_ (誤差項の自由度)がデータセットに出力されます。 この2つの変数の合計は、分析で使われたオブザベーション数と等しくなります。 上記の内容は、米国SAS本社のWEBページに記載されているFAQに基づいて作成されています。 |