SAS を使ってみよう

統計処理 01 クラス : 第3回(04/26/01)

データを電子化したり stat システム(UNIX)に転送する方法は修得したので、 いよいよお待たせの SAS を使ってみよう。 今回は SAS を使うために知っておくべきコマンドを中心に解説する。
  1. SAS を使うには? 終るには? : stat システムにログインする
    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. UNIX の初歩のコマンド : 「 第2回 」の「第8節」にある Lesson 2-4 を参照のこと

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

    2. 「vtsas」と入力してリターンキーを押す。
      [注意]来週以降、この状態から講義をスタートする。 今後 stat システムのログイン方法等はいちいち説明しないので、習得しておくこと。

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

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

       /* Lesson 3-1 */                             : コメント、実行に無関係
       /*    File Name = les0301.sas  04/26/01   */ : 後々の記録のためのメモ
                                                    :
      data kenshin;                                 : データ名の定義
        input name $ height weight;                 : 読み込む変量名、型($は文字型を示す)
      cards;                                        : データの始まりを示す
        koizumi     156  44                         : Case 1
        hashimoto   165  58                         :      2
        asou        157  43                         :      3
        kamei       159  44                         :      4
        mori        162  44                         :      5
        nonaka      159  59                         :      6
      ;                                             : データの終りを示す
      proc print data=kenshin;                      : 読み込んだデータの表示
      run;                                          : 上記の実行
      proc means data=kenshin;                      : 平均値等の算出
      run;                                          : 上記の実行
      

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

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

      2. 平均値等の算出
        • 各変量ごとのサンプル数、平均、標準偏差、最小値、最大値
                                    SAS システム                             1
                                                  13:35 Sunday, April 22, 2001
      
                        OBS    NAME        HEIGHT    WEIGHT
      
                         1     koizumi       156       44  
                         2     hashimot      165       58  
                         3     asou          157       43  
                         4     kamei         159       44  
                         5     mori          162       44  
                         6     nonaka        159       59  
      
                                    SAS システム                             2
                                                  13:35 Sunday, April 22, 2001
      
        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 側に持ってくる。 転送モードを「ASCII」にすることを忘れないように。
        • 印刷するだけなら、「H:」ドライブ辺りに転送して メモ帳や MS-Word (や秀丸等のエディタ等)に読みこんで印刷。
          ファイル名の拡張子(.sas、.lst等)に注意しないと見つけられない。
        • 印刷の仕方等については、「PC・ネットワーク利用ガイド」を参照のこと。
        • 手元に保存しておきたいのなら、FD や MO にバックアップを取る。

      5. 次回は... : 5月10日 14:45
        • データをファイルから読み込んで解析するには?
        • 出力内容の説明。
        • その他

        • 連休中に興味あるデータを 2つ以上集めておくこと。 5月17日に先日配布した皆さんのデータと共に電子化してもらう。



        [おまけ] スペースが余っているようなので、 次回提示予定のプログラムを書いておく。 ゴールデンウイークで 1週飛ぶことでもあり、 興味があれば実行してみて、どうなっているか探ってみてほしい。

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

        1. 新しいプログラムを作る時にはまず現在のプログラムを消去
          プログラムエリアのコマンド行で : [入力] CLEAR
          [注意] 保存前に消去すると、自分の労力が水泡に帰するので注意せよ。

        2. プログラム : les0302.sas
           /* Lesson 3-2 */
           /*    File Name = les0302.sas   04/26/01   */
          
          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. 出力結果 : les0302.lst

                                        SAS システム                             1
                                                    15:29 Saturday, April 21, 2001
          
              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:29 Saturday, April 21, 2001
          
            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 'les0302.sas'
          出力を保存したかったら、どうすれば良い?
      [DIR]講義のホームページへ戻ります