授業内容
DATAステップで作成したSASデータセットを元に、PROCステップでは様々なプロシジャを呼び出して、処理・分析を行って行きます。
その指定の方法は次のようになります。
Proc program名
これだけです。これだけで、登録済みのプログラムを呼び出して、実行してくれます。もちろん、ここで呼び出すのはデフォルトの(最初から組み込まれた)プログラムだけでなく、自分で作ったプログラムも呼び出すことが可能です。
いま既にあるデータを使って、多少統計的な処理をやってみましょう。
MEANSプロシジャは、VARステートメントで指定された各変数のデータ数(N)、平均(MEAN)、標準偏差(STDDEV)、最小値(Minimum)、最大値(Maximum)を教えてくれます。ちなみに、このような統計処理された数値を要約統計量と呼びます。
みんなの個人データから、身長、体重、小遣いの平均値等の要約統計量を求めるプログラムを書いてみましょう。
【新規プログラム】
data dmean;
infile ’z:\SAS\base01FF.prn';
input samno hght wght ft atnd allw ;
*出席(atnd)順に並び替え;
proc sort;
by atnd;
*MEANSプロシジャで統計量を出す;
proc means;
var hght wght allw;
run;
quit;
【プログラム末尾】
もしも、VARステートメントで変数を指定しなければ、全ての変数を対象として要約統計量が作られることになります。下の二つの形も試してみてください。
【新規プログラム2】
data dmean;
infile 'z:\SAS\base01FF.prn';
input samno hght wght ft atnd allw ;
proc means;
run;
quit;
【プログラム末尾】
次に、データをもとにして、横棒グラフ、縦棒グラフ、ブロック図のグラフを書いてみましょう。ここではGCHARTプロシジャを使ってみます。
どんなグラフにしたいかは、次のようなオプション指定によって選択することができます。
横棒グラフ VBARステートメント
縦棒グラフ HBARステートメント
ブロック図 BLOCKステートメント
円グラフ PIEステートメント
スターチャート STARステートメント
【新規プログラム3】
data dgraph;
infile ’z:\SAS\base01FF.prn’;
input samno hght wght ft atnd allw ;
goptions hsize = 17cm
vsize = 17cm;
proc sort;
by atnd;
proc gchart data=dgraph;
vbar hght;
proc gchart data=dgraph;
vbar hght / midpoints = 150 160 170 180;
hbar hght / midpoints = 150 160 170 180;
block hght / midpoints = 150 160 170 180;
by atnd;
run;
quit;
【プログラム末尾】
注)GCHARTプロシジャを使うとグラフが描かれますが、作成されたグラフを順送りで最後まで見ていかないと作業は終了しません。画面を最後まで流してみましょう。
もっとシンプルなCHARTプロシジャというのも存在します。次のプログラムを入力して確認してみてください。
【新規プログラム4】
data dgraph;
infile ’z:\SAS\base01FF.prn’;
input samno hght wght ft atnd allw ;
proc sort;
by atnd;
proc chart data=dgraph;
hbar atnd;
proc chart data=dgraph;
vbar atnd;
proc chart data=dgraph;
vbar atnd/sumvar=allw;
run;
quit;
【プログラム末尾】
3つ目のグラフは、出席の度数に対して、そのメンバーのお小遣いを合計したものになっています。(多分)