2017年6月21日水曜日

【SAS入門】データセットの中身を表示する【PROC PRINT】



SASデータセットの中身を見るには、、

・データセットを直接開いて見る
・PRINTプロシジャ等で結果ビューアにデータセットの中身を表示して見る

といった方法があります。
今回は、PRINTプロシジャを使った方法を紹介します。(沢山機能があるので、基本の部分のみ紹介)



例① 基本構文
proc print data=SASHELP.CLASS;
run;


「data=」に表示したいデータセット名を指定します。
今回は「SASHELP.CLASS」を表示対象としています。



例② VARステートメント
proc print data=SASHELP.CLASS;
   var NAME SEX AGE;
run;


VARステートメントで表示したい変数を指定することができます。



例③ LABEL、NOOBSオプション
proc print data=SASHELP.CLASS label noobs;
run;


LABELオプション・・・
通常、例②のようにヘッダーには変数名が表示されますが、LABELオプションを指定すると、変数ラベルを表示できます。

NOOOBS・・・
通常、例②のように一番左側に「OBS」という列が表示されますが、NOOBSオプションを指定すると、この列を非表示にできます。



例④ WHEREステートメント
proc print data=SASHELP.CLASS ;
  where AGE = 13;
run;


WHEREステートメントでオブザベーションの抽出条件を指定できます。
(上の例では、AGE=13のオブザベーションのみを表示しています)



例⑤ OBS=オプション
proc print data=SASHELP.CLASS(obs=3);


run;


OBS=オプションで、データセットから何オブザベーションまでを読込むか指定できます。
(上の例では、最初の3オブザベーションのみを表示しています)



以上が基本的な機能の紹介になります。

ひとつ注意なのが、PRINTプロシジャには不向きなデータがあります。

例えば、変数の数が多かったり、オブザベーション数が多い場合、
表示されたものが縦や横にながく見づらかったり、そもそもプロシジャの実行にめちゃくちゃ時間が掛かります。

素直にデータセット直接開いて中身見た方が早いです。

ただ、そういった場合でも、WHEREやOBS=などのオプションと、VARステートメントを組み合わせて、表示する変数やオブザベーションを絞るなどすれば、ある程度見やすくなります。

0 件のコメント:

コメントを投稿