/* 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
--------------------------------------------------------------------
プログラムの保存 :
[テクニック] 層を分けて分析する場合は、事前に並べ替えが必要