/* Lesson 3-1 */ : コメント、実行に無関係 /* File Name = les0301.sas 10/14/04 */ : 後々の記録のためのメモ : 見易さのための空行 data kenshin; : データ名の定義 input name $ shintyou taijyuu; : 読み込む変量名、型($は文字型を示す) cards; : データの始まりを示す Ochiai 178 80 : Case 1 Wakamatsu 168 76 : 2 Horiuchi 177 72 : 3 Okada 175 77 : 4 Yamamoto 183 92 : 5 Yamashita 175 90 : 6 ; : データの終りを示す proc print data=kenshin; : 読み込んだデータの表示 run; : 上記の実行 proc means data=kenshin; : 平均値等の算出 run; : 上記の実行
SAS システム 1 09:58 Thursday, October 14, 2004 OBS NAME SHINTYOU TAIJYUU 1 Ochiai 178 80 2 Wakamats 168 76 3 Horiuchi 177 72 4 Okada 175 77 5 Yamamoto 183 92 6 Yamashit 175 90 SAS システム 2 09:58 Thursday, October 14, 2004 Variable N Mean Std Dev Minimum Maximum ------------------------------------------------------------------- SHINTYOU 6 176.0000000 4.8989795 168.0000000 183.0000000 TAIJYUU 6 81.1666667 8.0601902 72.0000000 92.0000000 -------------------------------------------------------------------
[今回の講義までに行なってある作業] : この Excel 標準形式でのデータの保存を、 今日までに完了しているものとして講義を行なう。 今後の説明を簡単にするために、ここでは、ドライブ名に「H:」、 ファイル名に「naikaku0310」を指定し、 H ドライブに「naikaku0310.xls」と言うファイルが 作成されているとして話を進める。
[Lesson 4-1] : データの保存 :
演習で入力したデータを SAS で使うことを考慮して
テキスト形式で保存せよ。
この後の説明を簡単にするために、ここでは、ドライブ名に「H:」、
ファイル名に「naikaku0310」を指定したとして説明を進める
(naikaku0310.prn)。
[参考1] 上記ではExcel の標準形式(*.xls)と
テキスト形式(*.prn)の 2通りの保存方法を紹介したが、
今後とも両方の形式で保存しておくことを勧める。
上記で指摘したように、列幅が足らない状態でテキスト形式の保存を行なうと、
ファイル上で隣同士のセルがくっついてしまい、
以後手作業を行わないと分離できなくなってしまうからである。
Excel の標準形式で保存してあれば、
このファイルを使って幅を再修正し、テキスト形式で再保存することが可能となる。
逆に、テキスト形式だけだと、このような再修正は不可能である。
[参考2] テキスト形式(*.prn)で保存後に、
これを直接編集したい場合は、Excel を使わずともテキストエディタ(秀丸、
NotePad 等)を使えば加工できる。
[参考3] H: ドライブは電源を切ると内容が消えてしまう。
バックアップ用に FD や MO 等を利用すること。
また、メールに添付したり、stat システムに転送してしまう(後述)という手もある。
[参考4] SAS に読み込ませるデータの形式として、
「スペース区切り」以外に「タブ区切り」、「カンマ区切り(CSV 形式)」等も
利用可能であるが、これらについては後日紹介する。
stat システム上の SAS に関して言えば、SAS の出力中の日本語は
「EUC コード」を使って表現されているので、
SAS の「計算結果」を Windows マシンに転送する時には、
「EUC コード」を「Shift-JIS コード」に変換する必要が生じる。
また同様の理由で、ファイル名に漢字を使うのは避けるべきである。
[Lesson 4-2] : ファイルの転送: Windows ===> stat システム(UNIX)
[参考5] テキスト形式のファイル(*.prn)の場合は、
「ASCII モード」で転送したが、Excel 形式のファイル(*.xls)の場合は、
「Binary モード」で転送しないとファイルが壊れてしまう。
[参考6] 漢字を含まないファイルの転送であれば、
WS_FTP32 と言うソフトを使うこともできるが、
FFFTP を使えるのであれば敢えて両方を知っておく必要はないと思うので、
ここでは取り扱わない。詳しく知りたい場合は、NMC セミナー用テキストの「
WS_FTP32を使ったファイルの転送
」の項を参照のこと
[補足] 学外から FFFTP を使ってファイルの転送を行なう場合には、 [設定変更]の[拡張]タブ内にある「セキュリティ(Q)」を「使用しない」に 設定する必要がある。
[Lesson 4-3] : 転送されたファイルの確認
転送したファイルが実際に存在し、ファイル内容も正しいことを確認せよ。
/* Lesson 4-4 */ : /* File Name = les0404.sas 10/28/04 */ : : data naikaku; : データ名の定義 infile 'naikaku0310.prn' : ファイル名の指定 firstobs=2; : 数値は 2行目から入っている input name $ posit $ sex $ tochi : 読み込む変量名 ; : 終りを示すセミコロン proc print data=naikaku; : データの表示 run; : proc means data=naikaku; : 平均、標準偏差、最大最小値の算出 run; :
SAS システム 1 20:19 Tuesday, October 26, 2004 OBS NAME POSIT SEX TOCHI 1 Koizumi Kakuryou M 10743 2 Aso Kakuryou M 37772 3 Nozawa Kakuryou M 2315 4 Kawaguch Kakuryou F 2266 5 Kawamura Kakuryou M 6268 6 Sakaguch Kakuryou M 451 7 Nakagawa Kakuryou M 2915 8 Ishihara Kakuryou M 2346 9 Koike Kakuryou F 1393 10 Fukuda Kakuryou M 6036 11 Ono Kakuryou F 2005 12 Mogi Kakuryou M 688 13 Takenaka Kakuryou M 3122 14 Kaneko Kakuryou M 2859 15 Inoue Kakuryou M 5464 <中略> 58 Satou Seimu M 667 59 Saitou Seimu M 3213 60 Sunada Seimu M 5433 SAS システム 5 20:19 Tuesday, October 26, 2004 Analysis Variable : TOCHI N Mean Std Dev Minimum Maximum ---------------------------------------------------------- 60 4077.17 6398.74 0 37772.00 ----------------------------------------------------------
/* Lesson 4-5 */ /* File Name = les0405.sas 10/28/04 */ data naikaku; infile 'naikaku0310.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 20:20 Tuesday, October 26, 2004 Analysis Variable : TOTAL N Mean Std Dev Minimum Maximum ---------------------------------------------------------- 60 5761.28 7444.75 0 45522.00 ---------------------------------------------------------- SAS システム 6 20:20 Tuesday, October 26, 2004 TOTAL Cum. Cum. Midpoint Freq Freq Percent Percent | 4000 |*************************** 53 53 88.33 88.33 12000 |** 3 56 5.00 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 50 Frequency SAS システム 7 20:20 Tuesday, October 26, 2004 Frequency | ***** 50 + ***** | ***** 40 + ***** | ***** 30 + ***** | ***** 20 + ***** | ***** 10 + ***** | ***** ***** ------------------------------------------------------------------ 4000 12000 20000 28000 36000 44000 TOTAL Midpoint
/* Lesson 4-6 */ /* File Name = les0406.sas 10/28/04 */ data naikaku; infile 'naikaku0310.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 20:20 Tuesday, October 26, 2004 OBS NAME POSIT SEX TOCHI YOTYOKIN TOTAL HONNIN KASITUKE KARIIRE 1 Koizumi Kakuryou M 10743 2360 13103 13103 0 0 2 Aso Kakuryou M 37772 7750 45522 40273 20100 2000 3 Nozawa Kakuryou M 2315 2114 4429 2912 0 0 4 Kawaguchi Kakuryou F 2266 14330 16596 11344 0 0 5 Kawamura Kakuryou M 6268 2228 8496 5872 0 1000 SAS システム 2 11:22 Wednesday, May 12, 2004 Analysis Variable : TOTAL N Mean Std Dev Minimum Maximum ---------------------------------------------------------- 60 5761.28 7444.75 0 45522.00 ---------------------------------------------------------- <中略> SAS システム 5 20:20 Tuesday, October 26, 2004 TOTAL Cum. Cum. Midpoint Freq Freq Percent Percent | 5000 |************************* 49 49 81.67 81.67 10000 |*** 6 55 10.00 91.67 15000 |* 2 57 3.33 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 50 SAS システム 6 20:20 Tuesday, October 26, 2004 Frequency | ***** 45 + ***** | ***** 30 + ***** | ***** 15 + ***** | ***** -------------------------------------------------------------------- 10000 20000 30000 40000 50000 TOTAL Midpoint
[Lesson 4-7] : Windows 側で読み出せるか、実際に転送してみよ。