授業内容
データのグルーピング
オプションとして、BYステートメントやCLASSステートメントを利用することで、プロシジャベースで、データのグルーピングが可能になります。
もちろんそういった作業は、データセットでも可能です。以前やったIF−THENステートメントはその一つの例です。
今回は、SELECT−WHENステートメントでグルーピングすることを考えます。ここでの目的は、単純なグループ分けではなく、グループのラベル付けを行うことにあります。データをそのままにしておくと、サンプルの数だけグループができることになってしまいます。目的に応じて、サンプルを適当な形にグルーピングして、その集合に名前をつける必要性というものがデータの分析には必ず発生します。
使用法
select;
when(条件)ステートメント;
[when(条件)ステートメント;]
:
[otherwise(条件)ステートメント;]
end;
SELECTステートメントからENDステートメントまでが一連の流れになります。
SELECTステートメントが実行されると、WHEN以下の条件が上から順番に検証されていき、条件の後に書かれたステートメントが実行されていきます。
条件に当てはまらないものを探すためには、OTHERWISEステートメントを使います。つまり、その他を探すわけです。OTHERWISEステートメントを書かない場合には、すべてのWHENステートメントに当てはまるものがなければ何も実行されません。
次のページで、みんなのデータを足のサイズによってグルーピングするプログラムを組んでみましょう。
【新規プログラム】
data ftsize;
infile 'z:\SAS\base01FF.prn';
input samno hght wght ft atnd allw ;
/*******************************/
/***足のサイズによるラベル付け****/
/*******************************/
select;
when( ft > 26.0) ftsize = 3;
when( ft <= 24.5) ftsize = 1;
otherwise ftsize = 2;
end;
proc print data=ftsize;
run;
quit;
【プログラム末尾】