/* Lesson 4-1 */ :
/* File Name = les0401.sas 10/25/06 */ :
:
data naikaku; : データ名の定義
infile 'naikaku0512.prn' : ファイル名の指定
firstobs=2; : 数値は 2行目から入っている
input name $ posit $ sex $ tochi : 読み込む変量名
; : 終りを示すセミコロン
proc print data=naikaku; : データの表示
run; :
proc means data=naikaku; : 平均、標準偏差、最大最小値の算出
run; :
SAS システム 1
17:36 Tuesday, October 24, 2006
OBS NAME POSIT SEX TOCHI
1 Koizumi Kakuryou M 10743
2 Takenaka Kakuryou M 3002
3 Sugiura Kakuryou M 1755
4 Aso Kakuryou M 37779
5 Kosaka Kakuryou M 5596
6 Kawasaki Kakuryou M 4978
7 Nikai Kakuryou M 7417
8 Kitagawa Kakuryou M 1231
9 Inagaki Kakuryou M 2582
10 Nakagawa Kakuryou M 2962
11 Koike Kakuryou F 1220
12 Abe Kakuryou M 9796
13 Kutukake Kakuryou M 4973
14 Nukaga Kakuryou M 5272
15 Yosano Kakuryou M 6828
<中略>
55 Kaneko Seimu M 940
56 Kosehira Seimu M 1378
57 Katayama Seimu F 2082
58 Kobayash Seimu M 0
59 Gotou Seimu M 6821
60 Yosida Seimu M 3395
SAS システム 5
17:36 Tuesday, October 24, 2006
Analysis Variable : TOCHI
N Mean Std Dev Minimum Maximum
----------------------------------------------------------
60 4053.98 5987.72 0 37779.00
----------------------------------------------------------
/* Lesson 4-2 */
/* File Name = les0402.sas 10/25/06 */
data naikaku;
infile 'naikaku0512.prn'
firstobs=2;
input name $10. posit $ sex $ tochi : 文字列長の指定方法
yotyokin total honnin kasituke kariire : 長い場合は 2行に
;
proc print data=naikaku;
run;
proc means data=naikaku;
var total; : 平均を求める変量を指定
run;
proc chart data=naikaku; : ヒストグラムを描く
hbar total; : 水平棒グラフで。変量を指定
vbar total; : 垂直棒グラフで。変量を指定
run;
SAS システム 5
17:36 Tuesday, October 24, 2006
Analysis Variable : TOTAL
N Mean Std Dev Minimum Maximum
----------------------------------------------------------
60 6537.67 7631.23 0 45629.00
----------------------------------------------------------
SAS システム 6
17:36 Tuesday, October 24, 2006
TOTAL Cum. Cum.
Midpoint Freq Freq Percent Percent
|
4000 |*********************** 45 45 75.00 75.00
12000 |****** 11 56 18.33 93.33
20000 |* 1 57 1.67 95.00
28000 |* 2 59 3.33 98.33
36000 | 0 59 0.00 98.33
44000 |* 1 60 1.67 100.00
|
-----+----+----+----+---
10 20 30 40
Frequency
SAS システム 7
17:36 Tuesday, October 24, 2006
Frequency
| *****
40 + *****
| *****
30 + *****
| *****
20 + *****
| *****
10 + ***** *****
| ***** *****
------------------------------------------------------------------
4000 12000 20000 28000 36000 44000
TOTAL Midpoint
/* Lesson 4-3 */
/* File Name = les0403.sas 10/25/06 */
data naikaku;
infile 'naikaku0512.prn'
firstobs=2;
input name $10. posit $ sex $ tochi
yotyokin total honnin kasituke kariire
;
proc print data=naikaku(obs=5); : 先頭の 5ケースだけを表示。確認用
run;
proc means data=naikaku;
var total;
run;
proc chart data=naikaku;
hbar total;
vbar total;
run;
proc chart data=naikaku;
hbar total / midpoints= 5000 to 50000 by 5000; : 軸の値を指定
vbar total / midpoints=10000 to 50000 by 10000; : 軸の値を指定
run;
SAS システム 1
17:36 Tuesday, October 24, 2006
OBS NAME POSIT SEX TOCHI YOTYOKIN TOTAL HONNIN KASITUKE KARIIRE
1 Koizumi Kakuryou M 10743 2360 13103 13103 0 0
2 Takenaka Kakuryou M 3002 1071 4073 1213 6065 1681
3 Sugiura Kakuryou M 1755 796 2551 2071 0 0
4 Aso Kakuryou M 37779 7850 45629 40379 20100 2000
5 Kosaka Kakuryou M 5596 1300 6896 5224 0 0
SAS システム 2
17:36 Tuesday, October 24, 2006
Analysis Variable : TOTAL
N Mean Std Dev Minimum Maximum
----------------------------------------------------------
60 6537.67 7631.23 0 45629.00
----------------------------------------------------------
<中略>
SAS システム 5
17:36 Tuesday, October 24, 2006
TOTAL Cum. Cum.
Midpoint Freq Freq Percent Percent
|
5000 |*********************** 45 45 75.00 75.00
10000 |**** 8 53 13.33 88.33
15000 |** 4 57 6.67 95.00
20000 | 0 57 0.00 95.00
25000 |* 1 58 1.67 96.67
30000 |* 1 59 1.67 98.33
35000 | 0 59 0.00 98.33
40000 | 0 59 0.00 98.33
45000 |* 1 60 1.67 100.00
50000 | 0 60 0.00 100.00
|
-----+----+----+----+---
10 20 30 40
SAS システム 6
17:36 Tuesday, October 24, 2006
Frequency
| *****
45 + *****
| *****
30 + *****
| *****
15 + *****
| *****
--------------------------------------------------------------------
10000 20000 30000 40000 50000
TOTAL Midpoint
stat システム上の SAS に関して言えば、SAS の出力中の日本語は
「EUC コード」を使って表現されているので、
SAS の「計算結果」を Windows マシンに転送する前に
「EUC コード」を「Shift-JIS コード」に変換する必要が生じる。
また、漢字を含む元データを stat システム上で解析したいのなら、
転送後、stat システム上で EUC コードに変換してから利用する必要がある。
同様の理由で、ファイル名に漢字を使うのも避けるべきである。
[Lesson 4-4] Windows 側で読み出せるか、実際に転送してみよ。
[補足] nkf には他に、「-e」オプション(EUCコードに変換)、 「-j」オプション(JISコードに変換)がある。
data mon2006;
infile 'd:\home\mon05d.csv' dlm=','
firstobs=2
truncover;
data mon2006;
infile 'd:\home\mon05e.txt' dlm='09'x
firstobs=2
truncover;