FREQプロシジャ

例3.1 度数の出力データセット

ヨーロッパの異なる2地域に住んでいる子供の眼の色と髪の色をデータセットColorに記録するとします。子供1人につき1つのオブザベーションを記録するのではなく、データをセルカウントとして記録するため、変数Countには、それぞれ15種類の眼の色と髪の色の組み合わせを示す子供の数が含められます。このデータセットには欠損値の組み合わせは含まれません。

SASデータセットColorを作成するDATAステップステートメントは次のようになります。

data Color;
   input Region Eyes $ Hair $ Count @@;
   label Eyes  ='Eye Color'
         Hair  ='Hair Color'
         Region='Geographic Region';
   datalines;
1 blue  fair   23  1 blue  red     7  1 blue  medium 24
1 blue  dark   11  1 green fair   19  1 green red     7
1 green medium 18  1 green dark   14  1 brown fair   34
1 brown red     5  1 brown medium 41  1 brown dark   40 
1 brown black   3  2 blue  fair   46  2 blue  red    21
2 blue  medium 44  2 blue  dark   40  2 blue  black   6
2 green fair   50  2 green red    31  2 green medium 37
2 green dark   23  2 brown fair   56  2 brown red    42
2 brown medium 53  2 brown dark   54  2 brown black  13
;

次のPROC FREQステートメントは、Colorデータセットを読み取り、行がEyesで列がHairの二元表における度数、パーセンテージ、期待セル度数を含む出力データセットを作成します。次のTABLESステートメントは、3つの表を要求しています。すなわち、Eyesの度数表、Hairの度数表、および行がEyesで列がHairのクロス集計表です。OUT=オプションは、クロス集計表の度数を含むFreqCountデータセットを作成します。OUTEXPECTオプションは、表セルの期待度数をFreqCountデータセットに出力します。また、SPARSEオプションはゼロのセル度数をその出力データセットに含めます。WEIGHTステートメントでは、オブザベーションの重みを含む変数としてCountを指定しています。これらのステートメントが生成する出力を出力3.1.1から出力3.1.3に示します。

proc freq data=Color;
   tables Eyes Hair Eyes*Hair / out=FreqCount outexpect sparse;
   weight Count;
   title 'Eye and Hair Color of European Children';
run;
proc print data=FreqCount noobs;
   title2 'Output Data Set from PROC FREQ';
run;

出力3.1.1に、FREQプロシジャが作成する2つの度数表を示します。1つは眼の色の分布を示すものであり、もう1つは髪の色の分布を示すものです。デフォルトでは、FREQプロシジャは変数値をアルファベット順にリスト表示します。'Eyes*Hair'という指定は、出力3.1.2に示すような、行が眼の色で列が髪の色であるクロス集計表を作成します。眼の色が緑で髪の色が黒のセル度数がゼロであることは、そのような目の色と髪の色の組み合わせがデータ内に存在しないことを意味しています。

出力データセットFreqCount (出力3.1.3)は、TABLESステートメントで最後に要求された行がEyesで列がHairの表における度数カウントとパーセンテージを含んでいます。SPARSEオプションが指定されているため、このデータセットは、度数がゼロのオブザベーションを含みます。また、OUTEXPECTオプションが指定されているため、変数Expectedには期待度数が含められます。

出力3.1.1 度数表

Eye and Hair Color of European Children

The FREQ Procedure

Eye Color
Eyes Frequency Percent Cumulative
Frequency
Cumulative
Percent
blue 222 29.13 222 29.13
brown 341 44.75 563 73.88
green 199 26.12 762 100.00

Hair Color
Hair Frequency Percent Cumulative
Frequency
Cumulative
Percent
black 22 2.89 22 2.89
dark 182 23.88 204 26.77
fair 228 29.92 432 56.69
medium 217 28.48 649 85.17
red 113 14.83 762 100.00



出力3.1.2 クロス集計表

Frequency
Percent
Row Pct
Col Pct
Table of Eyes by Hair
Eyes(Eye Color) Hair(Hair Color)
black dark fair medium red Total
blue
6
0.79
2.70
27.27
51
6.69
22.97
28.02
69
9.06
31.08
30.26
68
8.92
30.63
31.34
28
3.67
12.61
24.78
222
29.13
 
 
brown
16
2.10
4.69
72.73
94
12.34
27.57
51.65
90
11.81
26.39
39.47
94
12.34
27.57
43.32
47
6.17
13.78
41.59
341
44.75
 
 
green
0
0.00
0.00
0.00
37
4.86
18.59
20.33
69
9.06
34.67
30.26
55
7.22
27.64
25.35
38
4.99
19.10
33.63
199
26.12
 
 
Total
22
2.89
182
23.88
228
29.92
217
28.48
113
14.83
762
100.00



出力3.1.3: 度数の出力データセット

Eye and Hair Color of European Children
Output Data Set from PROC FREQ

Eyes Hair COUNT EXPECTED PERCENT
blue black 6 6.409 0.7874
blue dark 51 53.024 6.6929
blue fair 69 66.425 9.0551
blue medium 68 63.220 8.9239
blue red 28 32.921 3.6745
brown black 16 9.845 2.0997
brown dark 94 81.446 12.3360
brown fair 90 102.031 11.8110
brown medium 94 97.109 12.3360
brown red 47 50.568 6.1680
green black 0 5.745 0.0000
green dark 37 47.530 4.8556
green fair 69 59.543 9.0551
green medium 55 56.671 7.2178
green red 38 29.510 4.9869