プロシジャのアウトプットをカタログとして保存し、参照する方法

実は結構、下書きのまま、公開せずに寝かせてしまっている記事が結構あります。
後でもっと内容を良くしたり、自分で理解を深めたり、書き足してから公開しようと思って保存するのですが結局自分がそのネタに飽きたり、何を書き足すつもりだったのかを忘れてしまいます。

ただ最近、SASYAMAさんのブログは質より量なのがいいところですね!とまっすぐな目で言ってくれた人がいました。

そうですね!確かに!


今回の話は、プロシジャの出力をカタログとして保存することで、参照しやすくする話です。

探索的に、プロシジャ何回も回しながらプログラムいじってると、
あれ、さっき見てた出力どれだっけ?とか、出力が多かったから全部消したけど、あの結果みたかったのにもう一回実行するの時間かかるから嫌だな~とか、外部ファイルにいちいちだして確認するの面倒とか、そういうことがあると思います。

そういう時に、後でちらちら参照する出力をカタログとして保存しとくと、SAS上でぱっと確認できるので楽という話です。


data Q1;
X=1;Y=2;output;
X=5;Y=3;output;
X=4;Y=6;output;
run;







というデータがあって

まず、プロシジャ出力を保存するカタログを以下のように指定します。

proc printto print=work.oricatalog.Univariate_1;
run;

今回はworkにoricatalogというカタログを作って
univariate_1という名前で保存します。
proc printtoはログやアウトプットを外部ファイル保存する時によく使うプロシジャですね。

proc univariate data=Q1;
 var X Y;
run;

proc printto;
run;

ここで閉じます(printtoの空指定実行は出力先を元に戻す効果を持つ)。

ついでにもう1つcorrプロシジャのアウトプットも保存してみましょう。

proc printto print=work.oricatalog.Corr_1;
run;
proc corr data=Q1;
 var X Y;
run;
proc printto;
run;

そしてWorkを見てみると

カタログができて、開けると

これらは出力結果のlstファイルで、ダブルクリックするとSAS内のウインドウで
テキストエディタ(例はNOTEPAD)で開かれる。




パラメータを変えながら、解析結果を比較したい場合などに、前の結果を
このように別ウインドウで開いて見れるのは地味に便利に感じてます。






0 件のコメント:

コメントを投稿