うずまき2017 powered by Jun-Systems

耳管開放症, SAS, 統計解析, 人工知能, プログラミングそれに思考

*

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

   

すごく基礎的な部分に需要がありそうだというのがなんとなくわかったので,なんとなく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に該当するオブザベーションのみを残したデータセットを作成するという具合だ.


 - SAS ,

Message

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

  関連記事

【忘備録】SASで巨大データセットから先頭100Obsを抽出
no image
SAS上で走っているRとSASでのデータセットの受け渡し
no image
データ分析の重要性とオープンデータ活用の潮流
no image
SAS上でRを走らせよう SAS/IML
no image
SASで直接twitterを検索してTLをインポート(PROC HTTP/Twitter OAuth)
SASで変数リスト内の全変数に順番に同じ処理をかけていくマクロ
no image
2014年IT関連まとめ
SASでランダムサンプリングしてグループ分けするマクロ
no image
SASでHHI(ハフィンダール指数)を計算するマクロを作った
SASでカテゴリカルな変数をダミー変数化するマクロ