SASで平均を求めよう!

   

SASを始めて何をしようか。まず平均(標準偏差)でも求めてみましょう。
たかが平均、されど平均です。

まず、データの入力が終わりデータがきれいに収納されたか確認します(proc printです)。

(データ入力のやり方は↓)

平均(標準偏差)を求める

そして、いよいよ平均値を求めていきます。使用するプロシジャーはproc meansです。

data means;
input id $ sex $ age cola dokupe;
cards;
001 m 20 50 80
002 f 32 44 97
003 f 28 50 59
004 m 33 80 30
;
proc means data=means;
var age;
run;

さて、上記の例題について説明していきます。いつものようにコーラとドクペ(ドクターペッパー)を飲み比べてそれぞれ点数を聞きました、という例題です。
上記の例では年齢の平均を求めようとしています。まずproc meansでこれから平均求めます!と宣言します。続いてオプションです。data=meansとすることでmeansというデータセットを用いて計算します。
var ageで年齢(age)について平均を求めます。

するとこのような結果がでます。↓
means

これだけでもいいのですが、これだと小数の値が多くて見づらいので減らしましょう。proc meansオプションで小数の桁を2桁にします。

data means;
input id $ sex $ age cola dokupe;
cards;
001 m 20 50 80
002 f 32 44 97
003 f 28 50 59
004 m 33 80 30
;
proc means maxdec=2 data=means;
var age;
run;

いかがでしょうか。小数第2位までになったと思います。これで平均、そして標準偏差が求められます。

おまけ

proc printでデータの入力ミスをチェックをしますがproc meansでも入力ミスをチェックしましょう!
proc meansを行うと平均と標準偏差だけではなく最小値、最大値も求められます。
つまり明らかな入力ミスがあるとすぐわかります(例えば、アンケートなんかで5件法なのに6,7があったり)。
なので一番最初にproc meansを行う時はvarにはすべての変数を入れておくといいです。
今回の例だと…

data means;
input id $ sex $ age cola dokupe;
cards;
001 m 20 50 80
002 f 32 44 97
003 f 28 50 59
004 m 33 80 30
;
proc means data=means;
var age cola dokupe;
run;

のようにします。これで最小値、最大値を見てありえない数値があったら元データを直しましょう。

SASトップページ

 - SAS