授業内容


第10回 プログラミングと統計量の評価3
3.3 プログラミングと統計量の評価3

データのグルーピング

オプションとして、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;

【プログラム末尾】


【本日の課題】
 次回の授業の頭までに、身長、体重のデータによりBMIを使い、肥満度を測定し+10%以上と、−10%未満とそれ以外のグループに分けてデータ化するプログラムを書いて提出。まだ、BMIのプログラムが作れていない人は、その事実をモトムラに報告。その後、「がんばってますっ!」っていう態度を見せること。
一つ前の週へ 先頭に戻る 一つ後の週へ


ホーム シラバス 授業計画 授業へのQ&A コンピューター初心者の皆さんへ