/* 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;