医療統計学を学ぶ大学生のブログ

医療統計学、因果推論を専攻しています。R, SASユーザーです。

SASによる解析:グローバルステートメント、書籍の紹介

norihirosuzuki.hatenablog.com

上記の記事の続きになります。ライブラリをはじめとするグローバルステートメント、外部ファイルの読み込みといったSASによる統計解析までに必要なことがおおよそ終わるので、次回からは統計解析の具体的な方法についてを扱います。

全てを網羅しているわけではないので、統計解析の各記事中や必要になったタイミングで詳細については載せられればいいかなと思います。

 

 

グローバルステートメントとは

以前の記事でも述べましたが、SASでの解析は大きくは3つのステップに分かれます。

  1. SASプログラムの作成
  2. SASプログラムの実行
  3. アウトプット(結果)の確認、解釈

 

このプログラム作成においては、DATAステップや各プロシジャの他に、ライブラリの指定やオプションを指定するグローバルステートメントを記載することが可能です。プロシジャのオプションは、記載の場所が重要ですが、ステートメントに関しては特に制限はありません。ただ、識別のしやすさはプログラムを作成するうえで非常に重要ですので一貫したルールは持っておくべきです。

 

グローバルステートメントは、その機能によって7つのカテゴリに分類することができます。

ステートメントのカテゴリ
機能
CAS
CASサーバーで実行されるステートメント
データアクセス
SASライブラリ、SASカタログ、外部ファイル、出力デバイスに参照名を関連付け、リモートファイルにアクセスします。
情報
プログラムデータベクトルに関する追加情報を提供します。
ログ制御
SASログの出力内容を変更します。
動作環境
動作環境に直接アクセスします。
出力制御
SAS出力にタイトルとフットノートを追加します。また、さまざまな形式で出力を提供します。
プログラム制御
SASプログラムを処理する方法を制御します。

さらに詳しく知りたい方は、SASのHelp Centerを見てみてください

 

使用頻度の高い主要なステートメントには次のようなものがあります。

  • option
  • libname
  • ods
  • goption

これ以外にもいくつかのグローバルステートメントはありますが、最低限この辺りの使い方は頭に入れておくとだいぶSASは使いやすくなるかなと個人的には思います。この記事では、このうち最初の二つについて軽くまとめます。

 

optionの使用

 optionはSASの様々なシステムオプションを扱うステートメントになります。以下のオプションで"="がついていないものに関しては、それをotionsの後に入れるだけでOKです。"="があるものに関しては任意の数値、もしくは文字列の入力が必要になります。イメージとしてはこんな感じ

 

f:id:NorihiroSuzuki:20210514170654p:plain

 

オプションの一覧(指定可能な項目)

  • date / nodate・・・アウトプットへの日付の出力の有無
  • notes / nonotes・・・ログへのnoteの出力の有無
  • center / nocenter・・・プロシジャの出力場所
  • linesize=列数・・・ログとプロシジャの1行あたりの列数
  • pagesize=行数・・・ログとプロシジャの1ページあたりの行数
  • missing="文字列"・・・欠損値の表示内容
  • papersize=大きさ・・・出力時の文書サイズ
  • prientation=向き・・・出力時の文書の向き
  • number / nonumber・・・ログとプロシジャの出力時のページ番号の有無
  • nofmtter・・・フォーマットが指定されている場合にそれを無効にしてデータセットを開く
  • fmtsearch=(ライブラリ名)・・・ライブラリ名を指定し、使用可能な状態にする


libnameの使用

SASでは、使用しているPCのフォルダをライブラリとして割り当て、データの読み込みや出力を行います。このあたりは無料の統計解析ソフトである Rと、ライブラリの意味が大きく異なる点です。

このライブラリを指定しない場合には、SASのWorkライブラリにデータは保存されますが、このWorkライブラリにあるデータはSASを終了すると消去されるので注意が必要です。

 

ライブラリの設定

f:id:NorihiroSuzuki:20210520140933p:plain

 

ライブラリへの出力

f:id:NorihiroSuzuki:20210520141205p:plain

ライブラリ名の後につける「.」(ドット)を忘れる人が多いので注意です。

 

ライブラリにあるデータセットの読み込み

f:id:NorihiroSuzuki:20210520141634p:plain

この場合新規データセットSASのWorkライブラリに作成されます

 

Excelデータの読み込み

実際に解析を行う際にはSASのファイルではなく、エクセルでデータをもらったり、出力することの方が多いかと思います。

Excelファイルの読み込みは以下の3つの方法があります。

  1. libnameを使う方法
  2. importプロシジャを使う方法
  3. DDE( Dynamic Data Exchange)を使う方法

 

1. libnameを使う方法

この方法はエクセルファイルにライブラリを割り当てる方法です

f:id:NorihiroSuzuki:20210520142927p:plain

 

2. importプロシジャを使う方法

importプロシジャを利用することにより、さまざまな形式のファイルを読み込み、新規データセットを作成することが可能です。

f:id:NorihiroSuzuki:20210520143901p:plain


また、コード上でのファイルの読み込みだけでなく、ファイルタブのデータのインポートからマウスでぽちぽちしながら読み込みを行うこともできます。

 

3. DDE( Dynamic Data Exchange)を使う方法

DDE(Dynamic Data Exchange)はfilenemeステートメントのオプションの一つです。この機能を用いると、エクセルファイル内の任意部分をDataステップで指定し、新規データセットを作成することが可能です。

DDEはインポートの場合と同じく、コードだけでなくマウスによる操作も可能です。そちらについては特に記載はしませんが、SASのソリューションタブから実行が可能です。

 

 

 

個人的におすすめの書籍 

友人や研究室の同期などにSASを学ぶにあたってのおすすめの書籍を聞かれることも最近たびたびあったので、せっかくなので紹介します。あくまで個人的な意見なので賛否両論あるかと思いますが、一つの意見として受け取ってください。

ここで紹介する二冊以外にも、「統計を知らない人のためのSAS入門」という本もいいかなと思いますが、SASの現在のバージョンである9.4ではなく、その一つ前のver.9.3に対応しているものが最新となっているので今回は省きます。

 

1.統計解析ソフト「SAS

統計解析ソフト「SAS」

統計解析ソフト「SAS」

 

個人的にはこれ一冊あれば、わからないことはないかなと思います。だいぶ分厚いので、必要に応じて辞書的な感じに使っていくのもありですし、順序立ててまとめてあるので、もちろん最初から順にやっていってもいいと思います。 

 

2.新版 実用SAS生物統計ハンドブック

 先ほどの統計解析ソフト「SAS」に比べるとコンパクトな一冊です。SAS自体の使い方というよりは、SASでどう解析を行うのかという点にフォーカスした内容になっています。

SASの使い方が全く分からないor網羅的に知りたい人は一冊目を、まずは分析手法についての実装方法を知りたい人は二冊目を選ぶのが、ちょうどいいと思います。