SAS超基礎1 データの読み書き

Share Button

すごく基礎的な部分に需要がありそうだというのがなんとなくわかったので,なんとなく30分で書いたものを貼っておくことに.気が向いたらちゃんとしたシリーズ物として詳しいレベルまで書いていきます.

データステップの基本形

データステップで既存のデータセットを操作してデータ整形を行う場合,基本的な形は以下のようになる.

DATA ライブラリ名.データセット名;
  SET ライブラリ名.データセット名;
  /*行いたい処理を記述*/
RUN;

DATA: 作成したいデータセット名を指定
SET: 読み込むデータセット名を指定
RUN: データステップを実行する.

SASのライブラリsashelp内には,予め永久データセットとして保存されているいくつかのデータセットが存在する.今回はその中でもデータセットclassを使ってファイルの読み込み,書き出しの練習を行ってみよう.
classというデータセット名で全く同じデータを一時データセットとして作成することを考えると,コードは以下のようになる.

DATA class;
  SET sashelp.class;
RUN;

まずはDATA以後に「ライブラリ名[ドット]データセット名[セミコロン]」という形で書き出したいデータセットを記述.その後SETに同様に読み出したいデータセットを指定.最後にRUN;するだけだ.ただし,今回の場合は一時データセットに保存するため,DATA後のライブラリ名は省略できる.(あえて指定したい場合,ライブラリ名はworkとなる)
条件抽出などの行いたい処理を書かずにこのようなデータステップを動作させた場合,SETで指定したデータセットと全く同じ内容のデータセットが新たに作成されることになる.

データセットからの条件抽出

では次に,先ほどのsashelp.classから特定の条件に合うオブザベーションのみを抽出してみよう.
このデータセットにはName, Sex, Age, Height, Weightの5つの変数が存在する.そこで今回は,14歳の生徒のみを抽出してデータセットに保存することを考える.

DATA class_14;
  SET sashelp.class;
  IF age = 14;
RUN;

条件抽出をする場合にはIFを使い,その後に条件を記述する.具体的には,変数ageが14に該当するオブザベーションのみを残したデータセットを作成するという具合だ.


Share Button

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です