【SAS/プログラミング】FREQ。集計が便利!そーれ、フレック、フレック!

最近はだじゃれが止まらなくなってきてしまっておりますが、今回はFREQプロシジャです。これもとても便利でなんか使いたくなるプロシジャの一つです。

<program code>
proc freq data=[データセット];
  tables [変数](* 変数...);
run;

上記の基本構文で[データセット]の中にある変数の数をカウント、割合が出力されます。
例えば、下記のデータセットがあったとします。

データセット名:blood_type

id    blood
------------ 
01   A
02   B
03   A
04   A
05   A
06   O
07   O
08   AB
09   A
10   B

proc freq data=blood_type;
  tables blood;
run;

<結果(出力イメージ)>
blood  N Percent
A         5   50.00
B         2   20.00
O        2    20.00
AB      1    10.00

データが少ないとありがたみが少ないですが、膨大なデータの場合、便利です。上記は頻度集計で変数が一つですが、複数変数を記入することでクロス集計にもできます。
<program code>の記述だと集計結果をデータセット化してないですが、
することも可能ですし、データセットだけほしい場合のオプションもあります。

proc freq data=[データセット] noprint;
  tables [変数](* 変数...) / out=[出力データセット];
run;

オプションで、「noprint」はアウトプット画面に出力しない。
"/"の後ろにつけるオプションは出力結果の処理に関するオプションで「out=データセット」でデータセット化、さらにこちらにはいろんなオプションが存在します。
chisq ・・・χ2検定をおこなう。
trend・・・コクラン・アーミテージ検定を行う。
など検定を行うオプションが存在するのです!

いや~お世話になったプロシジャです。感謝、感謝。
もっといろいろできそうな気がしますので、今後も調べていきます!

この記事が気に入ったらサポートをしてみませんか?