外れ値処理とif文,頻度集計

統計解析 02 クラス : 第11回 (06/19/08)

 前回までに分布特性を把握するためのいくつかの指標を説明し、 その使い方や注意点を喚起した。またグループ分けが有用なことも説明した。 解析の過程では、特徴の異なるサンプルや外れ値を除外することもあるので、 その方法について紹介する。
 また、単純集計としてよく利用される頻度集計やクロス集計の方法についても 紹介する。

  1. 外れ値(Outliar)や異常値の処理 : 除外

    1. プログラム : Lesson 11-1 : les1101.sas : les0902.sas に追加して活用する
       /* Lesson 11-1 */
       /*    File Name = les1101.sas   06/19/08   */
      
      data gakusei;
        infile 'all08ae.prn'
          firstobs=2;
        input sex $ shintyou taijyuu kyoui 
              jitaku $ kodukai carryer $ tsuuwa;
      
        if sex^='M' & sex^='F' then delete;       : 男でも女でもない場合、除外
        if kodukai>=200000     then delete;       : 20万円以上の場合、除外
      
      proc print data=gakusei(obs=5);
      run;
      proc means data=gakusei;
      run;
      proc univariate data=gakusei plot;
        var shintyou taijyuu kyoui kodukai;
      run;
      proc chart data=gakusei;
        hbar shintyou taijyuu kyoui kodukai;
      run;
      
      proc sort data=gakusei;
        by sex;
      run;
      
      proc means data=gakusei;
        by sex;
      run;
      proc univariate data=gakusei plot;
        var shintyou taijyuu kyoui kodukai;
        by sex;
      run;
      proc chart data=gakusei;
        hbar shintyou taijyuu kyoui kodukai;
        by sex;
      run;
      proc chart data=gakusei;
        hbar shintyou taijyuu kyoui kodukai/group=sex;
      run;
      
    2. 出力結果 : les1101.lst :
      • 一部のデータを除外したことによって、サンプル数が減ったことを確認せよ。
      • 各統計量はどのように変化したかを確認せよ。
      • 小遣い額について、平均値は変化するが、中央値と最頻値は影響が少ない/ない(頑健, robustness)。
                                    SAS システム                             2
                                                  19:37 Tuesday, June 17, 2008
      
       Variable    N          Mean       Std Dev       Minimum       Maximum
       ---------------------------------------------------------------------
       SHINTYOU  374   167.7489305     8.2695466   145.0000000   188.0000000
       TAIJYUU   335    58.7367164     9.2250113    35.0000000   100.0000000
       KYOUI     113    86.4867257     7.5155969    56.0000000   112.0000000
       KODUKAI   359      44732.59      41443.43             0     180000.00
       TSUUWA    165       6556.25       4366.12             0      30000.00
       ---------------------------------------------------------------------
      
                                    SAS システム                            21
                                                  19:37 Tuesday, June 17, 2008
                                Univariate Procedure
      Variable=KODUKAI
                                      Moments
      
                      N               359  Sum Wgts        359
                      Mean       44732.59  Sum        16059000
                      Std Dev    41443.43  Variance   1.7176E9
                      Skewness   1.188306  Kurtosis   0.804002
                      USS        1.333E12  CSS        6.149E11
                      CV         92.64707  Std Mean   2187.301
                      T:Mean=0   20.45105  Pr>|T|       0.0001
                      Num ^= 0        302  Num > 0         302
                      M(Sign)         151  Pr>=|M|      0.0001
                      Sgn Rank    22876.5  Pr>=|S|      0.0001
      
                                    SAS システム                            22
                                                  19:37 Tuesday, June 17, 2008
                                Univariate Procedure
      Variable=KODUKAI
                                  Quantiles(Def=5)
      
                       100% Max    180000       99%    160000
                        75% Q3      60000       95%    150000
                        50% Med     30000       90%    100000
                        25% Q1      20000       10%         0
                         0% Min         0        5%         0
                                                 1%         0
                       Range       180000                    
                       Q3-Q1        40000                    
                       Mode             0                    
      
                                    SAS システム                            25
                                                  19:37 Tuesday, June 17, 2008
                                Univariate Procedure
      Variable=KODUKAI
                           Histogram                     #             Boxplot
       190000+*                                          1                0   
             .**                                         6                0   
             .****                                      12                0   
       130000+*****                                     14                0   
             .********                                  23                |   
             .****                                      11                |   
        70000+*************                             38             +-----+
             .******************                        54             |  +  |
             .**************************************   112             *-----*
        10000+******************************            88                |   
              ----+----+----+----+----+----+----+---              
              * may represent up to 3 counts                      
      
      
                                    SAS システム                            33
                                                  19:37 Tuesday, June 17, 2008
      --------------------------------- SEX=F --------------------------------
       Variable    N          Mean       Std Dev       Minimum       Maximum
       ---------------------------------------------------------------------
       SHINTYOU  125   158.9016000     5.2486555   145.0000000   171.0000000
       TAIJYUU    86    48.8720930     4.7986187    35.0000000    60.0000000
       KYOUI      43    83.0000000     3.9400266    70.0000000    90.0000000
       KODUKAI   121      44752.07      35327.05             0     180000.00
       TSUUWA     68       6576.24       4187.38    80.0000000      25000.00
       ---------------------------------------------------------------------
      
                                    SAS システム                            34
                                                  19:37 Tuesday, June 17, 2008
      --------------------------------- SEX=M --------------------------------
       Variable    N          Mean       Std Dev       Minimum       Maximum
       ---------------------------------------------------------------------
       SHINTYOU  249   172.1903614     5.4608197   156.0000000   188.0000000
       TAIJYUU   249    62.1437751     7.8306863    46.0000000   100.0000000
       KYOUI      70    88.6285714     8.3668972    56.0000000   112.0000000
       KODUKAI   238      44722.69      44300.74             0     165000.00
       TSUUWA     97       6542.25       4508.67             0      30000.00
       ---------------------------------------------------------------------
      
                                    SAS システム                            91
                                                  19:37 Tuesday, June 17, 2008
                                Univariate Procedure
                                  Schematic Plots
      Variable=SHINTYOU
                        200 +                            
                            |                            
                            |                        0   
                        180 +                        |   
                            |            |        *--+--*
                            |            |        +-----+
                        160 +         *--+--*        0   
                            |         +-----+        0   
                            |            0               
                        140 +                            
                             ------------+-----------+-----------
                        SEX                 F           M
      
                                    SAS システム                            92
                                                  19:37 Tuesday, June 17, 2008
                                Univariate Procedure
                                  Schematic Plots
      Variable=TAIJYUU
                            |                            
                        100 +                        *   
                            |                        0   
                            |            |        *--+--*
                         50 +         *--+--*     +-----+
                            |            0               
                            |                            
                          0 +                            
                             ------------+-----------+-----------
                        SEX                 F           M
      
                                    SAS システム                           105
                                                  19:37 Tuesday, June 17, 2008
         SEX   SHINTYOU                              Cum.              Cum.
               Midpoint                        Freq  Freq  Percent  Percent
                          |
         F          144   |                       1     1     0.27     0.27
                    148   |*                      5     6     1.34     1.60
                    152   |***                   16    22     4.28     5.88
                    156   |*****                 27    49     7.22    13.10
                    160   |*******               36    85     9.63    22.73
                    164   |*****                 26   111     6.95    29.68
                    168   |**                    12   123     3.21    32.89
                    172   |                       2   125     0.53    33.42
                    176   |                       0   125     0.00    33.42
                    180   |                       0   125     0.00    33.42
                    184   |                       0   125     0.00    33.42
                    188   |                       0   125     0.00    33.42
                          |
         M          144   |                       0   125     0.00    33.42
                    148   |                       0   125     0.00    33.42
                    152   |                       0   125     0.00    33.42
                    156   |                       2   127     0.53    33.96
                    160   |*                      6   133     1.60    35.56
                    164   |***                   17   150     4.55    40.11
                    168   |*********             44   194    11.76    51.87
                    172   |******************    89   283    23.80    75.67
                    176   |**********            48   331    12.83    88.50
                    180   |******                32   363     8.56    97.06
                    184   |**                     9   372     2.41    99.47
                    188   |                       2   374     0.53   100.00
                          |
                          ----+---+---+---+--
                              20  40  60  80
                               Frequency
      
                                    SAS システム                           111
                                                  19:37 Tuesday, June 17, 2008
        SEX   KODUKAI                                 Cum.              Cum.
              Midpoint                          Freq  Freq  Percent  Percent
                        |
        F           0   |******                   15    15     4.18     4.18
                20000   |**********               26    41     7.24    11.42
                40000   |***********              28    69     7.80    19.22
                60000   |************             29    98     8.08    27.30
                80000   |****                     10   108     2.79    30.08
               100000   |**                        5   113     1.39    31.48
               120000   |*                         3   116     0.84    32.31
               140000   |*                         2   118     0.56    32.87
               160000   |*                         2   120     0.56    33.43
               180000   |                          1   121     0.28    33.70
                        |
        M           0   |*********************    52   173    14.48    48.19
                20000   |*******************      47   220    13.09    61.28
                40000   |*********************    53   273    14.76    76.04
                60000   |************             30   303     8.36    84.40
                80000   |*****                    12   315     3.34    87.74
               100000   |*******                  18   333     5.01    92.76
               120000   |***                       8   341     2.23    94.99
               140000   |*                         3   344     0.84    95.82
               160000   |******                   15   359     4.18   100.00
               180000   |                          0   359     0.00   100.00
                        |
                        ----+---+---+---+---+-
                            10  20  30  40  50
                               Frequency
      

    3. 結果の見方
      • グループ分け : 第9回の 第4節 と比較せよ。
      • 平均値がどのように変化したか?
      • では、中央値や最頻値がどのように変化したか? : 頑健性
      • ヒストグラムや Boxplot を見て分布の変化を確認せよ。

  2. if 文 : ある条件に合致した場合に、特定の処理を実行させる。
    [例1] 目的のサンプルだけを抽出する : 条件を書き並べる
    [例2] 変量の値を割り当てなおす : 新しい値を右辺に書く
    [例3] 新しい変量を定義する : 新しい変量を左辺に書く

    [例4] 複数の処理をさせたい場合 : do 〜 end で囲む

    [比較演算子]

    = : 等しい
    ^= : 等しくない
    > : より大きい
    < : より小さい
    >= : 以上
    <= : 以下

    [論理演算子]
    ^ : 否定(NOT)
    & : 論理和(AND)
    | : 論理積(OR)

  3. 頻度集計(名義尺度、離散変量の場合) : 度数の把握、クロス表
    • 単純集計として各群の頻度を調査 : クロス集計

    • 頻度 : 男/女別 人数、自宅生/下宿生別 人数、携帯電話会社別 人数、...。
    • あらかじめ性質が分類されている : 名義尺度、(離散変量)
    • [注意] この手法の対象が、文字型変量に限られているわけではない : [演習2] を参照

    1. プログラム : Lesson 11-2 : les1102.sas
       /* Lesson 11-2 */
       /*    File Name = les1102.sas   06/19/08   */
      
      data gakusei;
        infile 'all08ae.prn'
          firstobs=2;
        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;                                          :
      
    2. 出力結果 : les1102.lst :
      • 自宅生/下宿生の人数、自宅生/下宿生の人数。これらの組合わせの人数。
      • 頻度、割合(%)、累積頻度、累積割合(%)
      • 頻度、全体割合、縦割合、横割合
                                    SAS システム                             1
                                                  19:37 Tuesday, June 17, 2008
      
       OBS  SEX  SHINTYOU  TAIJYUU  KYOUI  JITAKU  KODUKAI  CARRYER   TSUUWA
      
         1   F     145.0      38       .     J      10000                 . 
         2   F     146.7      41      85     J      10000   Vodafone   6000 
         3   F     148.0      42       .     J      50000                 . 
         4   F     148.0      43      80     J      50000   DoCoMo     4000 
         5   F     148.9       .       .     J      60000                 . 
      
                                    SAS システム                             2
                                                  19:37 Tuesday, June 17, 2008
      
                                            Cumulative  Cumulative
                 SEX   Frequency   Percent   Frequency    Percent 
                 -------------------------------------------------
                 F          134      34.4         134       34.4  
                 M          256      65.6         390      100.0  
      
                               Frequency Missing = 5
      
                                              Cumulative  Cumulative
                JITAKU   Frequency   Percent   Frequency    Percent 
                ----------------------------------------------------
                G             129      38.2         129       38.2  
                J             209      61.8         338      100.0  
      
                               Frequency Missing = 57
      
                                    SAS システム                             4
                                                  19:37 Tuesday, June 17, 2008
      
                                               Cumulative  Cumulative
               CARRYER    Frequency   Percent   Frequency    Percent 
               ------------------------------------------------------
               DDIp              2       1.2           2        1.2  
               DoCoMo           71      42.8          73       44.0  
               J-PHONE          10       6.0          83       50.0  
               KDDI              1       0.6          84       50.6  
               No                5       3.0          89       53.6  
               Vodafone         20      12.0         109       65.7  
               Willcom           1       0.6         110       66.3  
               au               44      26.5         154       92.8  
               au+willc          1       0.6         155       93.4  
               docomo            5       3.0         160       96.4  
               docomo+w          1       0.6         161       97.0  
               softbank          4       2.4         165       99.4  
               vodafone          1       0.6         166      100.0  
      
                              Frequency Missing = 229
      
                                    SAS システム                             6
                                                  19:37 Tuesday, June 17, 2008
                               TABLE OF SEX BY JITAKU
                        SEX       JITAKU
                        Frequency|
                        Percent  |
                        Row Pct  |
                        Col Pct  |G       |J       |  Total
                        ---------+--------+--------+
                        F        |     40 |     75 |    115
                                 |  11.90 |  22.32 |  34.23
                                 |  34.78 |  65.22 |
                                 |  31.25 |  36.06 |
                        ---------+--------+--------+
                        M        |     88 |    133 |    221
                                 |  26.19 |  39.58 |  65.77
                                 |  39.82 |  60.18 |
                                 |  68.75 |  63.94 |
                        ---------+--------+--------+
                        Total         128      208      336
                                    38.10    61.90   100.00
      
                        Frequency Missing = 59
      
                                    SAS システム                             9
                                                  19:37 Tuesday, June 17, 2008
                              TABLE OF SEX BY CARRYER
           SEX       CARRYER
           Frequency|
           Percent  |
           Row Pct  |
           Col Pct  |DDIp    |DoCoMo  |J-PHONE |KDDI    |No      |  Total
           ---------+--------+--------+--------+--------+--------+
           F        |      1 |     30 |      4 |      0 |      1 |     66
                    |   0.61 |  18.18 |   2.42 |   0.00 |   0.61 |  40.00
                    |   1.52 |  45.45 |   6.06 |   0.00 |   1.52 |
                    |  50.00 |  42.25 |  44.44 |   0.00 |  20.00 |
           ---------+--------+--------+--------+--------+--------+
           M        |      1 |     41 |      5 |      1 |      4 |     99
                    |   0.61 |  24.85 |   3.03 |   0.61 |   2.42 |  60.00
                    |   1.01 |  41.41 |   5.05 |   1.01 |   4.04 |
                    |  50.00 |  57.75 |  55.56 | 100.00 |  80.00 |
           ---------+--------+--------+--------+--------+--------+
           Total           2       71        9        1        5      165
                        1.21    43.03     5.45     0.61     3.03   100.00
           (Continued)
      
                                    SAS システム                            11
                                                  19:37 Tuesday, June 17, 2008
                              TABLE OF SEX BY CARRYER
           SEX       CARRYER
           Frequency|
           Percent  |
           Row Pct  |
           Col Pct  |Vodafone|Willcom |au      |au+willc|docomo  |  Total
           ---------+--------+--------+--------+--------+--------+
           F        |      9 |      1 |     15 |      1 |      1 |     66
                    |   5.45 |   0.61 |   9.09 |   0.61 |   0.61 |  40.00
                    |  13.64 |   1.52 |  22.73 |   1.52 |   1.52 |
                    |  45.00 | 100.00 |  34.09 | 100.00 |  20.00 |
           ---------+--------+--------+--------+--------+--------+
           M        |     11 |      0 |     29 |      0 |      4 |     99
                    |   6.67 |   0.00 |  17.58 |   0.00 |   2.42 |  60.00
                    |  11.11 |   0.00 |  29.29 |   0.00 |   4.04 |
                    |  55.00 |   0.00 |  65.91 |   0.00 |  80.00 |
           ---------+--------+--------+--------+--------+--------+
           Total          20        1       44        1        5      165
                       12.12     0.61    26.67     0.61     3.03   100.00
           (Continued)
      
                                    SAS システム                            13
                                                  19:37 Tuesday, June 17, 2008
                              TABLE OF SEX BY CARRYER
           SEX       CARRYER
           Frequency|
           Percent  |
           Row Pct  |
           Col Pct  |docomo+w|softbank|vodafone|  Total
           ---------+--------+--------+--------+
           F        |      0 |      3 |      0 |     66
                    |   0.00 |   1.82 |   0.00 |  40.00
                    |   0.00 |   4.55 |   0.00 |
                    |   0.00 |  75.00 |   0.00 |
           ---------+--------+--------+--------+
           M        |      1 |      1 |      1 |     99
                    |   0.61 |   0.61 |   0.61 |  60.00
                    |   1.01 |   1.01 |   1.01 |
                    | 100.00 |  25.00 | 100.00 |
           ---------+--------+--------+--------+
           Total           1        4        1      165
                        0.61     2.42     0.61   100.00
      
           Frequency Missing = 230
      
                                    SAS システム                            16
                                                  19:37 Tuesday, June 17, 2008
                             TABLE OF JITAKU BY CARRYER
           JITAKU     CARRYER
           Frequency|
           Percent  |
           Row Pct  |
           Col Pct  |DDIp    |DoCoMo  |J-PHONE |KDDI    |No      |  Total
           ---------+--------+--------+--------+--------+--------+
           G        |      1 |     27 |      4 |      1 |      0 |     55
                    |   0.70 |  19.01 |   2.82 |   0.70 |   0.00 |  38.73
                    |   1.82 |  49.09 |   7.27 |   1.82 |   0.00 |
                    | 100.00 |  44.26 |  44.44 | 100.00 |   0.00 |
           ---------+--------+--------+--------+--------+--------+
           J        |      0 |     34 |      5 |      0 |      4 |     87
                    |   0.00 |  23.94 |   3.52 |   0.00 |   2.82 |  61.27
                    |   0.00 |  39.08 |   5.75 |   0.00 |   4.60 |
                    |   0.00 |  55.74 |  55.56 |   0.00 | 100.00 |
           ---------+--------+--------+--------+--------+--------+
           Total           1       61        9        1        4      142
                        0.70    42.96     6.34     0.70     2.82   100.00
           (Continued)
      ≪以下略≫
      
    3. [補足1] SAS は、パソコン画面のサイズ(正確には Output エリアのサイズ)によっては、 出力の縦横幅が変るように設計されている。 上記の出力中、「SEX x JITAKU」のクロス表は、 デフォルトの画面サイズ(何も指定しない場合)では、 縦に分断されたように表示される。 これは、教室のパソコンの画面では縦方向の行数が少ないので、 クロス表が「小出し」に表示されるためである。 間にある 15行程の不要部分を削除すると、視覚的にも理解しやすい クロス表を得ることができ、配布資料はそのような編集作業後のものである。 皆さんもレポート作成時にはこの様な編集作業を行って 親切なレポート作成を心掛けてください。

    4. [補足2] 上の出力例を見ると、携帯電話会社の名前が大文字のものと小文字のものが 混在していることが判る。本来であれば同じ会社を指すと考えられるので、 そのような場合は、再定義すれば良い。データパートに以下の再定義文を挿入する。 なお、社名や経営母体を変更した会社について、 どのように対応するかは別に考える必要がある。
      プログラム例 : les1102Rename.sas、 出力結果 : les1102Rename.lst
      ≪前略≫
      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";
      ≪後略≫
      

    5. [補足3] 累積頻度の使い方の一つとして、頻度の高いもの順(降順)と言う指定もでき、 「上位 50% までのパターンを知りたい」と言うような時に使うことができる。
      プログラム例 : les1102Order.sas、 出力結果 : les1102Order.lst
      ≪前略≫
      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;                                    :
      ≪後略≫
      

    6. [演習1] 上記の例では二変量の組合わせまでを行ったが、 三変量以上の組合わせを行うことも可能である。 その際の出力はどのようになるかを予想し、その後実際に実行してみよ。 出力結果は何を表現し、また、予想は正しかったか?
      プログラム : les1103.sas、 出力結果 : les1103.lst

    7. [演習2] 上記の例では名義尺度変量(離散変量)を使って 集計を行ったが、shintyou 等の連続変量(数値変量)を使っても実行できる。 その際の出力はどのようになるかを予想し、その後実際に実行してみよ。 出力結果は何を表現し、また、予想は正しかったか?
      プログラム : les1104.sas、 出力結果 : les1104.lst

  4. 頻度集計(連続変量の場合) : 度数の把握、クロス表
    • 観測値が連続値 : 連続変量
    • 連続変量をグループ化 : 区切る必要がある : 階級、class
    • 連続変量をグループ化することを指定するのが format : [演習2] と比較せよ
    • ドットを忘れないように : format 行の最後のところ

    1. プログラム : Lesson 11-5 : les1105.sas
       /* Lesson 11-5 */
       /*    File Name = les1105.sas   06/19/08   */
      
      data gakusei;
        infile 'all08ae.prn'
          firstobs=2;
        input sex $ shintyou taijyuu kyoui 
              jitaku $ kodukai carryer $ tsuuwa;
      
      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;                                   :
      
    2. 出力結果 : les1105.lst : 階級ごとの頻度
      • 各階級ごとの頻度、割合(%)、累積頻度、累積割合(%)
                                    SAS システム                             2
                                                  19:37 Tuesday, June 17, 2008
      
                                               Cumulative  Cumulative
               SHINTYOU   Frequency   Percent   Frequency    Percent 
               ------------------------------------------------------
                  -149           6       1.6           6        1.6  
               150-159          60      15.8          66       17.4  
               160-169         129      33.9         195       51.3  
               170-179         159      41.8         354       93.2  
               180-             26       6.8         380      100.0  
      
                               Frequency Missing = 15
      
                                    SAS システム                             3
                                                  19:37 Tuesday, June 17, 2008
                              TABLE OF SEX BY SHINTYOU
           SEX       SHINTYOU
           Frequency|
           Percent  |
           Row Pct  |
           Col Pct  |   -149 |150-159 |160-169 |170-179 |180-    |  Total
           ---------+--------+--------+--------+--------+--------+
           F        |      6 |     58 |     61 |      2 |      0 |    127
                    |   1.58 |  15.30 |  16.09 |   0.53 |   0.00 |  33.51
                    |   4.72 |  45.67 |  48.03 |   1.57 |   0.00 |
                    | 100.00 |  96.67 |  47.66 |   1.26 |   0.00 |
           ---------+--------+--------+--------+--------+--------+
           M        |      0 |      2 |     67 |    157 |     26 |    252
                    |   0.00 |   0.53 |  17.68 |  41.42 |   6.86 |  66.49
                    |   0.00 |   0.79 |  26.59 |  62.30 |  10.32 |
                    |   0.00 |   3.33 |  52.34 |  98.74 | 100.00 |
           ---------+--------+--------+--------+--------+--------+
           Total           6       60      128      159       26      379
                        1.58    15.83    33.77    41.95     6.86   100.00
      
           Frequency Missing = 16
      
                                    SAS システム                             6
                                                  19:37 Tuesday, June 17, 2008
      ------------------------------- SEX=' ' --------------------------------
                                               Cumulative  Cumulative
               SHINTYOU   Frequency   Percent   Frequency    Percent 
               ------------------------------------------------------
               160-169           1     100.0           1      100.0  
      
                               Frequency Missing = 4
      
                                    SAS システム                             7
                                                  19:37 Tuesday, June 17, 2008
      -------------------------------- SEX=F ---------------------------------
                                               Cumulative  Cumulative
               SHINTYOU   Frequency   Percent   Frequency    Percent 
               ------------------------------------------------------
                  -149           6       4.7           6        4.7  
               150-159          58      45.7          64       50.4  
               160-169          61      48.0         125       98.4  
               170-179           2       1.6         127      100.0  
      
                               Frequency Missing = 7
      
                                    SAS システム                             8
                                                  19:37 Tuesday, June 17, 2008
      -------------------------------- SEX=M ---------------------------------
                                               Cumulative  Cumulative
               SHINTYOU   Frequency   Percent   Frequency    Percent 
               ------------------------------------------------------
               150-159           2       0.8           2        0.8  
               160-169          67      26.6          69       27.4  
               170-179         157      62.3         226       89.7  
               180-             26      10.3         252      100.0  
      
                               Frequency Missing = 4
      

  5. 次回は、... : 06月26日 14:45
    • 二変量の関係
    • 単回帰分析
    • ...

  6. [おまけ1] いくつかのファイル形式 : デリミタの指定
    Excel 等で入力したデータを SAS に読み込ませる場合、 講義の中では「スペース区切り(*.prn)」を紹介した。 これ以外の形式のファイルも読み込めるものがあり、 その場合には以下のような SAS のプログラムを用いる。
    「スペース区切り」の場合、セル幅を上手く調節しないと意図通りに読み込ませる ことができないことを経験したかもしれないが、以下の区切り記号の場合は、 そのような心配は生じないので便利だと思われる。

    1. カンマ区切り(csv 形式)のファイルを読む場合 : *.csv
      [コメント] CSV 形式のファイルを読み込む場合、文字列の長さを指定しないと、 8文字(8バイト)しか読み込んでくれない。しかし、かと言って、input 文に 単に文字数を指定すると、カンマを超えて読み込もうとする。 また、欠損値が続くとそれ等を一つの欠損値として読み込んでしまう。 それらの欠点を一挙に解決するには以下の様式のプログラムを用いる。 続く欠損値を個々にバラして読ませ(infile 中の dsd)、 デリミタが出現するところまでの任意の長さの文字列を読み込む(input 中の : )ように指定する。
      data mon2008;
        infile 'd:\home\mon05d.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
      ;
      

    2. タブ区切りのファイルを読む場合 : *.txt
      data mon2008;
        infile 'd:\home\mon05e.txt' dlm='09'x 
               firstobs=2
               truncover; 
      

  7. [おまけ2] 1レコード(1行)のレコード長が長い場合 : 一行の長さの指定、例えば 230バイトだと
      data math;
        infile 'foo.dat' lrecl=230;
      

  8. [おまけ3] 行末がそろってないデータの読み込み : 一行の長さを指定し、揃ってないことを明示
      data math;
        infile 'foo.dat' lrecl=230 truncover;
      

  9. [おまけ4] 固定長データの読み込み : カラム位置の指定
      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
      ;
      

  10. [おまけ5] データファイルの先頭を読み飛ばす : コメント等が挿入されているような場合。先頭 3行を読み飛ばす場合は
      data math;
        infile 'foo.dat' firstobs=4;
      
[DIR]講義のホームページへ戻ります