/* Lesson 4-1 */ : コメント、実行に無関係 /* File Name = les0401.sas 05/18/99 */ : 後々の記録のためのメモ : data kenshin; : データ名の定義 input name $ height weight; : 読み込む変量名、型($は文字型を示す) cards; : データの始まりを示す asakawa 156 44 : Case No.1 sakaguchi 165 58 : 2 yano 157 43 : 3 imamura 159 44 : 4 esaka 162 44 : 5 takahashi 159 59 : 6 ; : データの終りを示す proc print data=kenshin; : 読み込んだデータの表示 run; : 上記の実行 proc means data=kenshin; : 平均値等の算出 run; : 上記の実行
SAS システム 1 15:55 Wednesday, May 17, 2000 OBS NAME HEIGHT WEIGHT 1 asakawa 156 44 2 sakaguch 165 58 3 yano 157 43 4 imamura 159 44 5 esaka 162 44 6 takahash 159 59 SAS システム 2 15:55 Wednesday, May 17, 2000 Variable N Mean Std Dev Minimum Maximum ------------------------------------------------------------------- HEIGHT 6 159.6666667 3.3266600 156.0000000 165.0000000 WEIGHT 6 48.6666667 7.6332606 43.0000000 59.0000000 -------------------------------------------------------------------
Lesson 4-2 : Lesson 2-1
で作ったデータをファイルから読み込んで各変量の平均を求めよう。
なお、ファイル名は各自で命名したものを指定せよ。
ここでは「les0201.prn」という名前で説明する。
/* Lesson 4-2 */ : /* File Name = les0402.sas 05/18/00 */ : : data gakusei; : データ名の定義 infile 'les0201.prn'; : ファイル名の指定 input sex $ shintyou taijyuu kyoui jitaku $ kodukai; : 変量名、型 : proc print data=gakusei(obs=5); : データの表示(先頭5ケース) run; : proc means data=gakusei; : 平均、標準偏差、最大最小値の算出 run; :
出力結果 : les0402.lst
SAS システム 1 15:57 Wednesday, May 17, 2000 OBS SEX SHINTYOU TAIJYUU KYOUI JITAKU KODUKAI 1 M 180.3 61.0 . . 2 F 148.0 42.0 . J 50000 3 M 168.6 57.2 . J 7000 4 M 181.0 60.0 80 G 160000 5 F 167.0 53.0 85 G 130000 SAS システム 2 15:57 Wednesday, May 17, 2000 Variable N Mean Std Dev Minimum Maximum -------------------------------------------------------------------- SHINTYOU 12 169.2666667 10.2960128 148.0000000 181.0000000 TAIJYUU 11 57.0545455 6.8714429 42.0000000 65.0000000 KYOUI 5 84.6000000 2.8809721 80.0000000 88.0000000 KODUKAI 11 64272.73 59378.60 0 160000.00 --------------------------------------------------------------------
/* Lesson 6-1 */ : /* File Name = les0601.sas 06/08/00 */ : : data gakusei; : データ名の定義 infile 'taikaku00.prn'; : ファイル名の指定 input seibetsu $ shintyou taijyuu kyoui; : 変量名、型 : proc print data=gakusei(obs=10); : データを先頭の10ケースだけ表示 run; : proc means data=gakusei; : 平均、標準偏差、最大最小値の算出 run; :
出力結果 : les0601.lst
SAS システム 1 19:13 Tuesday, June 6, 2000 OBS SEIBETSU SHINTYOU TAIJYUU KYOUI 1 F 148.0 42 . 2 F 158.0 49 85 3 F 159.0 49 88 4 M 160.0 55 . 5 F 160.0 . . 6 M 160.0 55 . 7 F 160.0 50 89 8 F 160.4 54 . 9 F 162.0 52 86 10 F 163.0 52 . SAS システム 2 19:13 Tuesday, June 6, 2000 Variable N Mean Std Dev Minimum Maximum -------------------------------------------------------------------- SHINTYOU 49 169.9816327 7.6466135 148.0000000 186.0000000 TAIJYUU 46 59.9130435 8.0527320 42.0000000 82.0000000 KYOUI 19 87.3157895 5.2710175 75.0000000 96.0000000 --------------------------------------------------------------------
proc means data=gakusei; : 平均等の算出 var shintyou taijyuu; : 身長と体重について run; :
SAS システム 2 19:13 Tuesday, June 6, 2000 Variable N Mean Std Dev Minimum Maximum -------------------------------------------------------------------- SHINTYOU 49 169.9816327 7.6466135 148.0000000 186.0000000 TAIJYUU 46 59.9130435 8.0527320 42.0000000 82.0000000 --------------------------------------------------------------------
上記プログラムを修正 : Lesson 6-3 :プログラム : les0603.sas
[参考] : cc, a(または b), i, 場合によって d, dd コマンドの活用
/* Lesson 6-3 */ /* File Name = les0603.sas 06/08/00 */ data gakusei; infile 'taikaku00.prn'; input seibetsu $ shintyou taijyuu kyoui; proc print data=gakusei(obs=10); run; proc means data=gakusei; : 平均、標準偏差、最大最小値の算出 var shintyou taijyuu; : 身長と体重について run; : proc sort data=gakusei; : 並べ替え(ソート) by seibetsu; : 性別ごとに run; : proc means data=gakusei; : 平均、標準偏差、最大最小値の算出 var shintyou taijyuu; : 身長と体重について by seibetsu; : 性別ごとに run; :
出力結果 : les0603.lst : 男性と女性では身長や体重の平均に違いがあるのを確認せよ。
SAS システム 1 19:13 Tuesday, June 6, 2000 OBS SEIBETSU SHINTYOU TAIJYUU KYOUI 1 F 148.0 42 . 2 F 158.0 49 85 3 F 159.0 49 88 4 M 160.0 55 . 5 F 160.0 . . 6 M 160.0 55 . 7 F 160.0 50 89 8 F 160.4 54 . 9 F 162.0 52 86 10 F 163.0 52 . SAS システム 2 19:13 Tuesday, June 6, 2000 Variable N Mean Std Dev Minimum Maximum -------------------------------------------------------------------- SHINTYOU 49 169.9816327 7.6466135 148.0000000 186.0000000 TAIJYUU 46 59.9130435 8.0527320 42.0000000 82.0000000 -------------------------------------------------------------------- SAS システム 3 19:13 Tuesday, June 6, 2000 ------------------------------ SEIBETSU=' ' ---------------------------- Variable N Mean Std Dev Minimum Maximum -------------------------------------------------------------------- SHINTYOU 0 . . . . TAIJYUU 0 . . . . -------------------------------------------------------------------- SAS システム 4 19:13 Tuesday, June 6, 2000 ------------------------------- SEIBETSU=F ----------------------------- Variable N Mean Std Dev Minimum Maximum -------------------------------------------------------------------- SHINTYOU 14 161.5285714 4.7753258 148.0000000 167.0000000 TAIJYUU 11 49.8181818 3.2807981 42.0000000 54.0000000 -------------------------------------------------------------------- SAS システム 5 19:13 Tuesday, June 6, 2000 ------------------------------- SEIBETSU=M ----------------------------- Variable N Mean Std Dev Minimum Maximum -------------------------------------------------------------------- SHINTYOU 35 173.3628571 5.7128383 160.0000000 186.0000000 TAIJYUU 35 63.0857143 6.2712764 51.5000000 82.0000000 --------------------------------------------------------------------
プログラムの保存 :
[テクニック] 層を分けて分析する場合は、事前に並べ替えが必要