SAS を使ってみよう

統計処理 01 クラス : 第4回目(05/18/00)

データを電子化したり stat システム(UNIX)に転送する方法は修得したので、 いよいよお待たせの SAS を使ってみよう。 今回は SAS を使うために知っておくべきコマンドを中心に解説する。
  1. SAS を使うには? 終るには? :
    1. SAS は stat システム上に存在
      「スタート」→「プログラム(P)」→「stat システム」→「stat1」とクリックする。
      (stat1 と 2, 3 はどれでも対等。混み具合いによって変更してよい)。
      [注意] stat システム内ではマウスは使えない。 以後の入力はキーボードからのみ行う。
    2. 「login:」、「Password:」と表示されるので、 それぞれ stat システム用の IDとパスワードを入力する。 なお、パスワードはセキュリティの都合上、画面には表示されない。
    3. SAS を起動するには「vtsas」と入力してリターンキーを押す。
      画面が区切られたような領域に分割されて表示される。
    4. SAS を終了するには「コマンド =>」 の右側にカーソルをカーソル移動キー(矢印キー)で移動させ「bye」と入力して リターンキーを押す。大なり記号の直後に空白() が一つ必要なので注意せよ。
    5. stat システムから戻るには「logout」と入力してリターンキーを押す。

  2. SAS を操作してみよう : Lesson 4-1 :
    1. まずは stat システムにログインする。 : 前項参照

    2. 「vtsas」と入力してリターンキーを押す。

    3. 領域が三種類ある : Program, Output, Log : 役割はおいおい説明する。
      各ウインドウを行き来しよう。コマンド行に以下のコマンドを。
      • プログラムエリアへ : PGM
      • ログエリアへ : LOG
      • アウトプットエリアへ : OUTput

    4. 何はともあれプログラムを入力 : les0401.sas
      • プログラムエリアに入力していく : PGM
        [注意] 以下のリスト中、コロン(:)以降は解説用のメモなので入力しないように。
      • 領域を大きくしたい : ZOOM
      • テンキーは使えない。キーボード上部の数値キーで入力。
      • ブランクはいくつあっても一つと見なされる。
      • プログラムはセミコロン(;)で終わる。
      • コロン(:)とセミコロン(;)を間違えないように。

       /* 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;                                          : 上記の実行
      

    5. 実行してみよう
      プログラムエリアの「コマンド => 」の右にカーソルを移動させて「SUB」

    6. 出力結果 : les0401.lst
      1. 読み込んだデータの表示
        • 縦方向にケース、横方向に変量
        • 左端にケース番号
        • 入力が期待通りかを確認 : 数値のずれ、異常値、...

      2. 平均値等の算出
        • 各変量ごとのサンプル数、平均、標準偏差、最小値、最大値
                                    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
        -------------------------------------------------------------------
      

    7. 特に知っておくべきコマンド :
      • 実行 : SUBmit : プログラムの実行。
      • 前進 : FORWard : 複数画面にまたがっている場合。
      • 後退 : BACKward : 複数画面にまたがっている場合。

    8. 一旦実行したプログラムの呼び戻し :
      • 実行したらプログラムエリアから消える
      • RECall : プログラムの呼び戻し : プログラムエリアで。

    9. プログラムを有効活用しよう
      1. 保存 : 自分のホームディレクトリに判りやすいファイル名で保存。
        • プログラムエリアのコマンド行で : FILE 'filename.sas'
        • アウトプットエリアのコマンド行で : FILE 'filename.lst'
        • ログエリアのコマンド行で : FILE 'filename.log'
      2. 読み込み : 自分のホームディレクトリから。
        • プログラムエリアのコマンド行で : INC 'filename.sas'

      3. そのほかに知っておくと便利なコマンド
        • コマンドは大文字でも小文字でもよい。 ここでは大文字で表記しているが、それは省略形でもある。 SAS は識別可能な先頭の数文字で認識しているため全てを入力する必要はない。

        • PGM : プログラムエリアへの移動 : プログラムの編集。
        • RECall : プログラムの呼び戻し : プログラムエリアで。
        • [Ctrl]+[X] : インサートモード : プログラムの修正に。
        • [Ctrl]+[U] : コマンド行へ移動 : すばやく移動。
        • SUBmit : 実行や継続実行 : 画面右上に[停止中]と出ているときにも。
        • D, I, C, ... : 編集用のコマンド : より高度な編集機能。
        • Zoom : エリアの拡大・縮小 : 領域を大きく。
        • CLEAR : エリアの内容消去 : 不要な情報を消去。 <=== 要注意
        • LOG : エラー等の確認はログエリアで : ログエリアにメッセージ。
        • OUTput : 出力の確認 : 計算結果。
        • TOP : 先頭 : 画面の先頭に移動。
        • BOTtom : 末尾 : 画面の末尾に移動。
        • FILE : ファイルへの保存。
        • INClude : ファイルからの読み込み。

      4. プログラムや出力の印刷 : レポートの作成等に
        • stat システムにはプリンタがないので
          第2回 で説明した転送方法で Win 側に持ってくる。
        • 印刷するだけなら、「H:」ドライブ辺りに転送して メモ帳や MS-Word (や秀丸等のエディタ)に読みこんで印刷。
          ファイル名の拡張子(.sas、.lst等)に注意しないと見つけられない。
        • 印刷の仕方等については、「PC・ネットワーク利用ガイド」を参照のこと。

      [発展]
      予想ではここまでで時間切れとなってしまい、 これ以降の実習は時間内に行えないようにも思う。 残りの部分については、来週のこの時間に各自で試してほしい。 具体的には、以下のプログラムと出力を参考(解読?)にして、 自分の収集したデータを解析してみよ。詳しい解説は次回に行う。
      1. データをファイルから読み込む
        データが追加されたり、別クラスのデータを解析したくなったら??
        : データをファイルから読み込んで処理しよう
        : 先週、電子化した個人のデータファイル等
        : 大量データや定型的な処理に有効

        Lesson 4-2 : Lesson 2-1 で作ったデータをファイルから読み込んで各変量の平均を求めよう。 なお、ファイル名は各自で命名したものを指定せよ。
        ここでは「les0201.prn」という名前で説明する。

        1. 新しいプログラムを作る時にはまず現在のプログラムを消去
          プログラムエリアのコマンド行で : [入力] CLEAR
          [注意] 保存前に消去しないように。

        2. プログラム : les0402.sas
           /* 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);
          run;
          proc means data=gakusei;
          run;
          

        3. 出力結果 : 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
            --------------------------------------------------------------------
          
        4. プログラムの保存 :
          プログラムエリアのコマンド行で : [入力] FILE 'les0402.sas'

      2. 次回は... : 6月8日 14:45
        • 5月25日は演習。[発展]の部分を各自で試してみよ。
          また、各自で収集したデータを解析対象として実行してみよ。
        • データをファイルから読み込んで解析するには? (上記 6節の内容)
        • 出力内容の説明。
        • 6月1日は休講。
      [DIR]講義のホームページへ戻ります