/* Lesson 3-1 */ : コメント、実行には無関係
/* File Name = les0301.sas 05/01/03 */ : 後々の記録のためのメモ
: 見易さのための空行
data kenshin; : データ名の定義
input name $ height weight; : 読み込む変量名、型($は文字型を示す)
cards; : データの始まりを示す
Takahashi 156 44 : Case 1
Nishino 165 58 : 2
Yamada 157 43 : 3
Murohashi 159 44 : 4
Yamasaki 162 44 : 5
Tada 159 59 : 6
; : データの終りを示す
proc print data=kenshin; : 読み込んだデータの表示
run; : 上記の実行
proc means data=kenshin; : 平均値等の算出
run; : 上記の実行
| Name | Sex | Goukei | Tochi | Yotyokin | Kashituke | Kariire |
| Koizumi | M | 5012 | 3052 | 1960 | 0 | 731 |
| Katayama | M | 7874 | 1371 | 6502 | 0 | 2697 |
| Moriyama | F | 12606 | 6907 | 5699 | 0 | 0 |
| Tanaka | F | 74940 | 31739 | 43201 | 0 | 0 |
| Shiokawa | M | 56561 | 54336 | 2225 | 7500 | 0 |
| Touyama | F | 24146 | 10901 | 13245 | 0 | 2200 |
| Sakaguchi | M | 2601 | 451 | 2150 | 0 | 140 |
| Takebe | M | 5084 | 2796 | 2288 | 0 | 549 |
| Hiranuma | M | 4723 | 451 | 223 | 0 | 12682 |
| Ohogi | F | 19554 | 18354 | 1200 | 7102 | 36000 |
| Kawaguchi | F | 13550 | 1490 | 12060 | 0 | 0 |
| Fukuda | M | 8089 | 7272 | 817 | 1130 | 7600 |
| Murai | M | 6492 | 1669 | 4823 | 0 | 260 |
| Nakatani | M | 1620 | 0 | 1620 | 0 | 0 |
| Omi | M | 3278 | 3278 | 0 | 1800 | 1764 |
| Yanagisawa | M | 5375 | 2475 | 2900 | 0 | 2205 |
| Takenaka | M | 2808 | 2651 | 157 | 9475 | 10456 |
| Ishihara | M | 5932 | 2347 | 3585 | 0 | 3230 |
stat システム上の SAS に関して言えば、SAS の出力中の日本語は
「EUC コード」を使って表現されているので、
SAS の「計算結果」を Windows マシンに転送する時には、
「EUC コード」を「Shift-JIS コード」に変換する必要が生じる。
また同様の理由で、ファイル名に漢字を使うのは避けるべきである。
/* Lesson 4-4 */ :
/* File Name = les0404.sas 05/08/03 */ :
:
data naikaku; : データ名の定義
infile 'naikaku01.prn' : ファイル名の指定
firstobs=2; : 数値は 2行目から入っている
input name $ sex $ goukei; : 読み込む変量名
:
proc print data=naikaku; : データの表示
run; :
proc means data=naikaku; : 平均、標準偏差、最大最小値の算出
run; :
SAS システム 1
22:04 Tuesday, May 6, 2003
OBS NAME SEX GOUKEI
1 Koizumi M 5012
2 Katayama M 7874
3 Moriyama F 12606
4 Tanaka F 74940
5 Shiokawa M 56561
6 Touyama F 24146
7 Sakaguch M 2601
8 Takebe M 5084
9 Hiranuma M 4723
10 Ohogi F 19554
11 Kawaguch F 13550
12 Fukuda M 8089
13 Murai M 6492
14 Nakatani M 1620
15 Omi M 3278
SAS システム 2
22:04 Tuesday, May 6, 2003
OBS NAME SEX GOUKEI
16 Yanagisa M 5375
17 Takenaka M 2808
18 Ishihara M 5932
SAS システム 3
22:04 Tuesday, May 6, 2003
Analysis Variable : GOUKEI
N Mean Std Dev Minimum Maximum
----------------------------------------------------------
18 14458.06 19845.53 1620.00 74940.00
----------------------------------------------------------
/* Lesson 4-5 */
/* File Name = les0405.sas 05/08/03 */
data naikaku;
infile 'naikaku01.prn'
firstobs=2;
input name $15. sex $ goukei tochi : 文字列長の指定方法
yotyokin kasituke kariire; : 長い場合は 2行に。最後はセミコロン
proc print data=naikaku;
run;
proc means data=naikaku;
var goukei;
run;
proc chart data=naikaku; : ヒストグラムを描く
hbar goukei; : 水平棒グラフで。変量を指定
vbar goukei; : 垂直棒グラフで。変量を指定
run;
SAS システム 1
22:23 Tuesday, May 6, 2003
OBS NAME SEX GOUKEI TOCHI YOTYOKIN KASITUKE KARIIRE
1 Koizumi M 5012 3052 1960 0 731
2 Katayama M 7874 1371 6502 0 2697
3 Moriyama F 12606 6907 5699 0 0
4 Tanaka F 74940 31739 43201 0 0
5 Shiokawa M 56561 54336 2225 7500 0
6 Touyama F 24146 10901 13245 0 2200
7 Sakaguchi M 2601 451 2150 0 140
8 Takebe M 5084 2796 2288 0 549
9 Hiranuma M 4723 451 223 0 12682
10 Ohogi F 19554 18354 1200 7102 36000
11 Kawaguchi F 13550 1490 12060 0 0
12 Fukuda M 8089 7272 817 1130 7600
13 Murai M 6492 1669 4823 0 260
14 Nakatani M 1620 0 1620 0 0
15 Omi M 3278 3278 0 1800 1764
SAS システム 4
22:23 Tuesday, May 6, 2003
GOUKEI Cum. Cum.
Midpoint Freq Freq Percent Percent
|
7500 |**************************** 14 14 77.78 77.78
|
22500 |**** 2 16 11.11 88.89
|
37500 | 0 16 0.00 88.89
|
52500 |** 1 17 5.56 94.44
|
67500 |** 1 18 5.56 100.00
|
----+---+---+---+---+---+---+
2 4 6 8 10 12 14
Frequency
SAS システム 5
22:23 Tuesday, May 6, 2003
Frequency
| *****
12 + *****
| *****
8 + *****
| *****
4 + *****
| ***** ***** ***** *****
--------------------------------------------------------------------
7500 22500 37500 52500 67500
GOUKEI Midpoint
/* Lesson 4-6 */
/* File Name = les0406.sas 05/08/03 */
data naikaku;
infile 'naikaku01.prn'
firstobs=2;
input name $15. sex $ goukei tochi
yotyokin kasituke kariire;
proc print data=naikaku(obs=5); : 先頭の 5ケースだけを表示。確認用
run;
proc means data=naikaku;
var goukei;
run;
proc chart data=naikaku;
hbar goukei;
vbar goukei;
run;
proc chart data=naikaku;
hbar goukei / midpoints=10000 to 80000 by 10000; : 軸の値を指定
vbar goukei / midpoints=10000 to 80000 by 20000; : 軸の値を指定
run;
SAS システム 1
22:23 Tuesday, May 6, 2003
OBS NAME SEX GOUKEI TOCHI YOTYOKIN KASITUKE KARIIRE
1 Koizumi M 5012 3052 1960 0 731
2 Katayama M 7874 1371 6502 0 2697
3 Moriyama F 12606 6907 5699 0 0
4 Tanaka F 74940 31739 43201 0 0
5 Shiokawa M 56561 54336 2225 7500 0
SAS システム 5
22:23 Tuesday, May 6, 2003
GOUKEI Cum. Cum.
Midpoint Freq Freq Percent Percent
|
10000 |**************************** 14 14 77.78 77.78
20000 |**** 2 16 11.11 88.89
30000 | 0 16 0.00 88.89
40000 | 0 16 0.00 88.89
50000 | 0 16 0.00 88.89
60000 |** 1 17 5.56 94.44
70000 |** 1 18 5.56 100.00
80000 | 0 18 0.00 100.00
|
----+---+---+---+---+---+---+
2 4 6 8 10 12 14
Frequency
SAS システム 6
22:23 Tuesday, May 6, 2003
Frequency
16 + *****
| *****
12 + *****
| *****
8 + *****
| *****
4 + *****
| ***** ***** ***** *****
--------------------------------------------------------
10000 30000 50000 70000
GOUKEI Midpoint