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

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

SASによる解析:Excel(エクセル)の読み込みと出力

f:id:NorihiroSuzuki:20210827143755p:plain

他の統計解析ソフトと同じく、SASもテキストファイルやExcelファイルのような様々な外部ファイルを読み取ることができます。この記事ではその中でも特に使用頻度が高いExcelについて、その読み込みと出力についてまとめていきます。

 

 

 

Excelの読み込み

SASでのExcelファイルの読み込みにはいくつか方法がありますが、ここでは3つ紹介します。

libnameステートメント

一つ目はlibnameステートメントExcelエンジンを使用して読み込む方法です。これはエクセルのファイルにライブラリ(データセットの在処)を割り当てるものです。エクセル以外にも様々なファイルを読み込むことが可能で、この方法での基本的な構文はこのようになっています。

f:id:NorihiroSuzuki:20210903160454p:plain

各シートをデータセットとして読み込むには、対象となるデータセット名(シート名$ )をシングルコーテーションで囲み、 nをつけることで読み込むことができます。

f:id:NorihiroSuzuki:20210903162538p:plain

このlibnameステートメントの主なオプションとしては以下のようなものがあります。

header=YES / NO

読み込むExcelファイルの1行目を変数名として読み込むかどうかのオプションです。デフォルトはYesで、Yesの場合は1行目を変数名として読み込みます。(SAS命名規則に反していない限り)それに対してNoの場合には、1行目からデータとして読み込みがされ、列名はF1, F2, F3と自動的に命名されます。

 

mixed=YES / NO

読み込むシートに、文字と数値が混ざっているかどうかを指定するオプションです。Yesの場合には、数値、文字データはともに文字型として読み込みがなされます。Noの場合には数字のデータは数字として、文字データは欠損値として扱われます。デフォルトはNoです。

 

importプロシジャ

2つ目はimportプロシジャを使用した方法です。構文はこんな感じ。

f:id:NorihiroSuzuki:20210903163849p:plain

また、インポートウィザードを利用して読み込むことも可能です。その場合には、SASのメニューの【ファイル】→【データのインポート】から表示される指示に従ってください。

 

DDE

3つ目はfilenameステートメントのDDE(Dynamic Data Exchange)オプションです。この機能については長嶋先生のHPがわかりやすいのでぜひそちらを参考にしてください。

nshi.jp

 

Excelへの出力

入力の時と同じくSASのデータセットExcelに出力する方法は複数紹介します。

 

exportプロシジャ

exportプロシジャを使用することで、Excelを含む様々なファイルに出力することができます。基本的な構文はこんなかんじ。

f:id:NorihiroSuzuki:20210903175601p:plain

これ以外のReplaceをはじめとするオプションについてはこちらを参考にどうぞ。

documentation.sas.com

 

またexportプロシジャを記述しなくても、エクスポートウィザーを使用してぽちぽちしながら出力することができます。手順は以下の通り。

  1. メニューの【ファイル】→【データのエクスポート】を選択
  2. 変換するSASデータセットを指定、【次へ】をクリック
  3. エクスポートタイプの設定で変換先のファイル形式を選択
  4. ワークブックの選択でExcelファイルを選択
  5. テーブルの選択では特に何もせず【次へ】でOK
  6. SASステートメントの作成では、【参照】→パス・ファイル名の指定か、またはパス・ファイル名を入力して、【完了】を押します

以上の流れでも出力を行うことができます。

 

データセットを右クリック

SASエクスプローラExcelに出力したいデータセットを右クリック、Excelで表示を選択することでExcelファイルを作成することができます。途中で出る警告メッセージに関しては無視して構いません。その後作成したファイルを名前をつけて保存してください。