/* Lesson 13-01 */ /* File Name = les1301.sas 02/01/18 */ options nocenter linesize=78 pagesize=30; proc printto print = 'Kougi/les1301_Results.txt' new; data pair; input x y @@; : 改行せずに続けて読むことの指定 dif=y-x; : 前後の差を計算 cards; 5.1 4.7 6.2 6.1 6.8 7.2 7.4 7.3 3.9 3.6 : 2つ1組みでデータを列挙 3.5 3.7 5.3 4.8 4.5 4.4 5.9 5.5 4.8 4.6 : ; proc print data=pair; run; : Stem and Leaf を表示させるには ods listing; : 以下の plot オプション用に指定。 ods graphics off; : 以下の plot オプション用に指定。 proc univariate data=pair plot; : 基礎統計量の算出。plot オプションを指定。 var dif; : 指定した変量について run;
2018年 1月31日 水曜日 22時41分04秒 24 Obs x y dif 1 5.1 4.7 -0.4 2 6.2 6.1 -0.1 3 6.8 7.2 0.4 4 7.4 7.3 -0.1 5 3.9 3.6 -0.3 6 3.5 3.7 0.2 7 5.3 4.8 -0.5 8 4.5 4.4 -0.1 9 5.9 5.5 -0.4 10 4.8 4.6 -0.2 2018年 1月31日 水曜日 22時41分04秒 25 UNIVARIATE プロシジャ 変数 : dif モーメント N 10 重み変数の合計 10 平均 -0.15 合計 -1.5 標準偏差 0.27988093 分散 0.07833333 歪度 0.83622187 尖度 0.2797646 無修正平方和 0.93 修正済平方和 0.705 変動係数 -186.58728 平均の標準誤差 0.08850612 基本統計量 位置 ばらつき 平均 -0.15000 標準偏差 0.27988 中央値 -0.15000 分散 0.07833 最頻値 -0.10000 範囲 0.90000 四分位範囲 0.30000 2018年 1月31日 水曜日 22時41分04秒 26 UNIVARIATE プロシジャ 変数 : dif 位置の検定 H0: Mu0=0 検定 -統計量- ------p 値------- Student の t 検定 t -1.6948 Pr > |t| 0.1244 符号検定 M -3 Pr >= |M| 0.1094 符号付順位検定 S -15.5 Pr >= |S| 0.1211 分位点 (定義 5) 水準 分位点 100% 最大値 0.40 99% 0.40 95% 0.40 90% 0.30 75% Q3 -0.10 50% 中央値 -0.15 25% Q1 -0.40 10% -0.45 5% -0.50 1% -0.50 0% 最小値 -0.50 2018年 1月31日 水曜日 22時41分04秒 27 UNIVARIATE プロシジャ 変数 : dif 極値 --最小値-- --最大値-- 値 Obs 値 Obs -0.5 7 -0.1 2 -0.4 9 -0.1 4 -0.4 1 -0.1 8 -0.3 5 0.2 6 -0.2 10 0.4 3 幹 葉 # Boxplot 4 0 1 0 2 0 1 | 0 | -0 000 3 +--+--+ -2 00 2 | | -4 000 3 +-----+ ----+----+----+----+ 幹.葉の単位 : 10**-1 2018年 1月31日 水曜日 22時41分04秒 28 UNIVARIATE プロシジャ 変数 : dif 正規確率プロット 0.5+ * ++++++ | * +++++++ | +++++++ | *+*++*+ * | * +*++*++ -0.5+ +*++++++ +----+----+----+----+----+----+----+----+----+----+ -2 -1 0 +1 +2
/* Lesson 13-02 */ /* File Name = les1302.sas 02/01/18 */ options nocenter linesize=78 pagesize=30; proc printto print = 'Kougi/les1302_Results.txt' new; data gakusei; infile 'Kougi/all08c_sjis.csv' firstobs=2 dlm=','; input sex $ shintyou taijyuu kyoui jitaku $ kodukai carryer $ tsuuwa; proc print data=gakusei(obs=5); run; : proc freq data=gakusei; : 頻度を算出 tables sex jitaku carryer; : 一変量ごとに run; : proc freq data=gakusei; : 頻度を算出 tables sex*jitaku; : 二変量の組み合わせで tables sex*carryer; : tables jitaku*carryer; : run; :
2018年 1月31日 水曜日 23時07分50秒 50 FREQ プロシジャ 累積 累積 sex 度数 パーセント 度数 パーセント ----------------------------------------------------------------- F 134 33.58 134 33.58 M 265 66.42 399 100.00 Frequency Missing = 5 累積 累積 jitaku 度数 パーセント 度数 パーセント -------------------------------------------------------------------- G 130 37.46 130 37.46 J 217 62.54 347 100.00 Frequency Missing = 57 2018年 1月31日 水曜日 23時07分50秒 51 FREQ プロシジャ 累積 累積 carryer 度数 パーセント 度数 パーセント ---------------------------------------------------------------------- DDIp 2 1.14 2 1.14 DoCoMo 71 40.57 73 41.71 J-PHONE 10 5.71 83 47.43 KDDI 1 0.57 84 48.00 No 5 2.86 89 50.86 Vodafone 20 11.43 109 62.29 Willcom 1 0.57 110 62.86 au 46 26.29 156 89.14 au+willc 1 0.57 157 89.71 au/willc 1 0.57 158 90.29 docomo 8 4.57 166 94.86 docomo+w 1 0.57 167 95.43 docomo/a 1 0.57 168 96.00 docomo/w 1 0.57 169 96.57 softbank 5 2.86 174 99.43 vodafone 1 0.57 175 100.00 Frequency Missing = 229 2018年 1月31日 水曜日 23時07分50秒 52 FREQ プロシジャ 表 : sex * jitaku sex jitaku 度数 | パーセント | 行のパーセ | 列のパーセ |G |J | 合計 ---------------+--------+--------+ F | 40 | 75 | 115 | 11.59 | 21.74 | 33.33 | 34.78 | 65.22 | | 31.01 | 34.72 | ---------------+--------+--------+ M | 89 | 141 | 230 | 25.80 | 40.87 | 66.67 | 38.70 | 61.30 | | 68.99 | 65.28 | ---------------+--------+--------+ 合計 129 216 345 37.39 62.61 100.00 Frequency Missing = 59 2018年 1月31日 水曜日 23時07分50秒 53 FREQ プロシジャ 表 : sex * carryer sex carryer 度数 | パーセント | 行のパーセ | 列のパーセ |DDIp |DoCoMo |J-PHONE |KDDI |No |Vodafone| 合計 ---------------+--------+--------+--------+--------+--------+--------+ F | 1 | 30 | 4 | 0 | 1 | 9 | 66 | 0.57 | 17.24 | 2.30 | 0.00 | 0.57 | 5.17 | 37.93 | 1.52 | 45.45 | 6.06 | 0.00 | 1.52 | 13.64 | | 50.00 | 42.25 | 44.44 | 0.00 | 20.00 | 45.00 | ---------------+--------+--------+--------+--------+--------+--------+ M | 1 | 41 | 5 | 1 | 4 | 11 | 108 | 0.57 | 23.56 | 2.87 | 0.57 | 2.30 | 6.32 | 62.07 | 0.93 | 37.96 | 4.63 | 0.93 | 3.70 | 10.19 | | 50.00 | 57.75 | 55.56 | 100.00 | 80.00 | 55.00 | ---------------+--------+--------+--------+--------+--------+--------+ 合計 2 71 9 1 5 20 174 1.15 40.80 5.17 0.57 2.87 11.49 100.00 (続く) 2018年 1月31日 水曜日 23時07分50秒 54 FREQ プロシジャ 表 : sex * carryer sex carryer 度数 | パーセント | 行のパーセ | 列のパーセ |Willcom |au |au+willc|au/willc|docomo |docomo+w| 合計 ---------------+--------+--------+--------+--------+--------+--------+ F | 1 | 15 | 1 | 0 | 1 | 0 | 66 | 0.57 | 8.62 | 0.57 | 0.00 | 0.57 | 0.00 | 37.93 | 1.52 | 22.73 | 1.52 | 0.00 | 1.52 | 0.00 | | 100.00 | 32.61 | 100.00 | 0.00 | 12.50 | 0.00 | ---------------+--------+--------+--------+--------+--------+--------+ M | 0 | 31 | 0 | 1 | 7 | 1 | 108 | 0.00 | 17.82 | 0.00 | 0.57 | 4.02 | 0.57 | 62.07 | 0.00 | 28.70 | 0.00 | 0.93 | 6.48 | 0.93 | | 0.00 | 67.39 | 0.00 | 100.00 | 87.50 | 100.00 | ---------------+--------+--------+--------+--------+--------+--------+ 合計 1 46 1 1 8 1 174 0.57 26.44 0.57 0.57 4.60 0.57 100.00 (続く) 2018年 1月31日 水曜日 23時07分50秒 55 FREQ プロシジャ 表 : sex * carryer sex carryer 度数 | パーセント | 行のパーセ | 列のパーセ |docomo/a|docomo/w|softbank|vodafone| 合計 ---------------+--------+--------+--------+--------+ F | 0 | 0 | 3 | 0 | 66 | 0.00 | 0.00 | 1.72 | 0.00 | 37.93 | 0.00 | 0.00 | 4.55 | 0.00 | | 0.00 | 0.00 | 60.00 | 0.00 | ---------------+--------+--------+--------+--------+ M | 1 | 1 | 2 | 1 | 108 | 0.57 | 0.57 | 1.15 | 0.57 | 62.07 | 0.93 | 0.93 | 1.85 | 0.93 | | 100.00 | 100.00 | 40.00 | 100.00 | ---------------+--------+--------+--------+--------+ 合計 1 1 5 1 174 0.57 0.57 2.87 0.57 100.00 Frequency Missing = 230 2018年 1月31日 水曜日 23時07分50秒 56 FREQ プロシジャ 表 : jitaku * carryer jitaku carryer 度数 | パーセント | 行のパーセ | 列のパーセ |DDIp |DoCoMo |J-PHONE |KDDI |No |Vodafone| 合計 ---------------+--------+--------+--------+--------+--------+--------+ G | 1 | 27 | 4 | 1 | 0 | 4 | 56 | 0.66 | 17.88 | 2.65 | 0.66 | 0.00 | 2.65 | 37.09 | 1.79 | 48.21 | 7.14 | 1.79 | 0.00 | 7.14 | | 100.00 | 44.26 | 44.44 | 100.00 | 0.00 | 23.53 | ---------------+--------+--------+--------+--------+--------+--------+ J | 0 | 34 | 5 | 0 | 4 | 13 | 95 | 0.00 | 22.52 | 3.31 | 0.00 | 2.65 | 8.61 | 62.91 | 0.00 | 35.79 | 5.26 | 0.00 | 4.21 | 13.68 | | 0.00 | 55.74 | 55.56 | 0.00 | 100.00 | 76.47 | ---------------+--------+--------+--------+--------+--------+--------+ 合計 1 61 9 1 4 17 151 0.66 40.40 5.96 0.66 2.65 11.26 100.00 (続く) ≪以下略≫
≪前略≫ if carryer="au+willc" then carryer="au+Willc"; if carryer="docomo" then carryer="DoCoMo"; if carryer="docomo+w" then carryer="DoCoMo+W"; if carryer="vodafone" then carryer="Vodafone"; ≪後略≫
≪前略≫ proc freq data=gakusei order=freq; : 頻度の高いもの順 tables sex jitaku carryer; : run; : : proc freq data=gakusei order=freq; : 頻度の高いもの順 tables sex*jitaku; : tables sex*carryer; : tables jitaku*carryer; : run; : ≪後略≫
≪前略≫ proc freq data=gakusei; tables sex*jitaku; : 2重クロス集計 tables sex*carryer; : 2重クロス集計 tables jitaku*carryer; : 2重クロス集計 tables sex*jitaku*carryer; : 3重クロス集計 run; ≪後略≫
/* Lesson 13-07 */ /* File Name = les1307.sas 02/01/18 */ options nocenter linesize=78 pagesize=30; proc printto print = 'Kougi/les1307_Results.txt' new; data gakusei; infile 'Kougi/all08c_sjis.csv' firstobs=2 dlm=','; input sex $ shintyou taijyuu kyoui jitaku $ kodukai carryer $ tsuuwa; if carryer="au+willc" then carryer="au+Willc"; if carryer="docomo" then carryer="DoCoMo"; if carryer="docomo+w" then carryer="DoCoMo+W"; if carryer="vodafone" then carryer="Vodafone"; proc format; : 階級を作る。class shintyou の意 value clshint low-<150=' -149' : 階級の定義 1 150-<160='150-159' : 2 160-<170='160-169' : 3 170-<180='170-179' : 4 180-high='180- ' : 5 other ='missing'; : 6 run; : proc print data=gakusei(obs=5); run; proc freq data=gakusei; : 頻度を算出 tables shintyou; : 一変量ごとに format shintyou clshint.; : 連続変量をグループ化することの指定 run; : : proc freq data=gakusei; : 頻度を算出 tables sex*shintyou; : 二変量の組合わせで format shintyou clshint.; : 連続変量をグループ化することの指定 run; : : proc sort data=gakusei; : 今までの方法で実現しようとすると by sex; : run; : proc freq data=gakusei; : tables shintyou; : format shintyou clshint.; : 連続変量をグループ化することの指定 by sex; : 性別ごとに run; :
2018年 1月31日 水曜日 23時13分56秒 114 FREQ プロシジャ 累積 累積 shintyou 度数 パーセント 度数 パーセント ---------------------------------------------------------------------- -149 6 1.54 6 1.54 150-159 61 15.68 67 17.22 160-169 131 33.68 198 50.90 170-179 163 41.90 361 92.80 180- 28 7.20 389 100.00 Frequency Missing = 15 2018年 1月31日 水曜日 23時13分56秒 115 FREQ プロシジャ 表 : sex * shintyou sex shintyou 度数 | パーセント | 行のパーセ | 列のパーセ | -149 |150-159 |160-169 |170-179 |180- | 合計 ---------------+--------+--------+--------+--------+--------+ F | 6 | 58 | 61 | 2 | 0 | 127 | 1.55 | 14.95 | 15.72 | 0.52 | 0.00 | 32.73 | 4.72 | 45.67 | 48.03 | 1.57 | 0.00 | | 100.00 | 95.08 | 46.92 | 1.23 | 0.00 | ---------------+--------+--------+--------+--------+--------+ M | 0 | 3 | 69 | 161 | 28 | 261 | 0.00 | 0.77 | 17.78 | 41.49 | 7.22 | 67.27 | 0.00 | 1.15 | 26.44 | 61.69 | 10.73 | | 0.00 | 4.92 | 53.08 | 98.77 | 100.00 | ---------------+--------+--------+--------+--------+--------+ 合計 6 61 130 163 28 388 1.55 15.72 33.51 42.01 7.22 100.00 Frequency Missing = 16 2018年 1月31日 水曜日 23時13分56秒 116 sex=' ' FREQ プロシジャ 累積 累積 shintyou 度数 パーセント 度数 パーセント ---------------------------------------------------------------------- 160-169 1 100.00 1 100.00 Frequency Missing = 4 2018年 1月31日 水曜日 23時13分56秒 117 sex=F FREQ プロシジャ 累積 累積 shintyou 度数 パーセント 度数 パーセント ---------------------------------------------------------------------- -149 6 4.72 6 4.72 150-159 58 45.67 64 50.39 160-169 61 48.03 125 98.43 170-179 2 1.57 127 100.00 Frequency Missing = 7 2018年 1月31日 水曜日 23時13分56秒 118 sex=M FREQ プロシジャ 累積 累積 shintyou 度数 パーセント 度数 パーセント ---------------------------------------------------------------------- 150-159 3 1.15 3 1.15 160-169 69 26.44 72 27.59 170-179 161 61.69 233 89.27 180- 28 10.73 261 100.00 Frequency Missing = 4
/* Lesson 13-08 */ /* File Name = les1308.sas 02/01/18 */ options nocenter linesize=78 pagesize=30; proc printto print = 'Kougi/les1308_Results.txt' new; data gakusei; infile 'Kougi/all08c_sjis.csv' firstobs=2 dlm=','; input sex $ shintyou taijyuu kyoui jitaku $ kodukai carryer $ tsuuwa; proc format; value clshint low-<150=' -149' 150-<160='150-159' 160-<170='160-169' 170-<180='170-179' 180-high='180- ' other ='missing'; run; proc print data=gakusei(obs=5); run; proc tabulate data=gakusei; : 要約統計量の表の作成 class sex jitaku; : 特性変数であることの宣言 var kodukai; : 集計する変量名 tables kodukai*(n mean std),sex*jitaku; : 表示内容、分類変量名 run; : proc tabulate data=gakusei; : class shintyou sex; : var taijyuu; : tables taijyuu*(n mean std),shintyou*sex; : format shintyou clshint.; : 連続変量をグループ化することの指定 run; :
2018年 2月 1日 木曜日 11時42分20秒 2 ----------------------------------------------------------------------- | | sex | | |---------------------------------------------------| | | F | M | | |-------------------------+-------------------------| | | jitaku | jitaku | | |-------------------------+-------------------------| | | G | J | G | J | |-----------------+------------+------------+------------+------------| |kodukai |N | 38.00| 73.00| 88.00| 136.00| | |--------+------------+------------+------------+------------| | |Mean | 75710.53| 34897.26| 87988.64| 26970.59| | |--------+------------+------------+------------+------------| | |Std | 57382.03| 30640.72| 73705.14| 33083.05| ----------------------------------------------------------------------- 2018年 2月 1日 木曜日 11時42分20秒 3 ----------------------------------------------------------------------- | | shintyou | | |---------------------------------------------------| | | -149 | 150-159 | 160-169 | | |------------+-------------------------+------------| | | sex | sex | sex | | |------------+-------------------------+------------| | | F | F | M | F | |-----------------+------------+------------+------------+------------| |taijyuu |N | 5.00| 42.00| 3.00| 41.00| | |--------+------------+------------+------------+------------| | |Mean | 41.80| 47.42| 53.40| 51.16| | |--------+------------+------------+------------+------------| | |Std | 2.59| 4.52| 6.77| 3.68| ----------------------------------------------------------------------- (Continued) 2018年 2月 1日 木曜日 11時42分20秒 4 ----------------------------------------------------------------------- | | shintyou | | |---------------------------------------------------| | | 160-169 | 170-179 | 180- | | |------------+-------------------------+------------| | | sex | sex | sex | | |------------+-------------------------+------------| | | M | F | M | M | |-----------------+------------+------------+------------+------------| |taijyuu |N | 69.00| 0.00| 161.00| 28.00| | |--------+------------+------------+------------+------------| | |Mean | 58.72| .| 63.13| 67.88| | |--------+------------+------------+------------+------------| | |Std | 7.31| .| 7.60| 7.87| -----------------------------------------------------------------------
data example2018; infile 'Kougi/foo1.csv' dlm=','; firstobs=2 truncover missover dsd ; input No $ Univ : $30. SName : $40. Faculty : $50. Dept : $50. Center1 : $8. Center2 : $8. Sel1 : $8. Sel2 : $8. Book1 : $10. Book2 : $10. Vol0 VolS VolT ZenKou $ ScoreS ScoreT KoKouSi ;
data example2018; infile 'Kougi/foo2.txt' dlm='09'x firstobs=2 truncover missover;
data math; infile 'foo3.csv' lrecl=230;
data math; infile 'foo4.csv' lrecl=230 truncover;
input kamoku $ 2 kesseki $ 3 k_code $ 10-11 t_score 12-14 s_scor01 103-104 s_scor02 105-106 s_scor03 107-108 s_scor04 109-110 ;