|
|
SPSS形式のデータをSAS 8.2で利用する
[OS] ALL
[リリース] ALL
[キーワード] BASE, SPSS, ENGINE, CONVERT
[質問]
SPSS形式のデータをSAS 8.2で利用するために、SASデータセットに変換したいのですが、その方法を教えてください。
[回答]
SPSS形式のデータをSASデータセットに変換するには、CONVERTプロシジャ、またはLIBNAME SPSSエンジンを利用します。
なお、読み込み元のSPSS形式のデータは、SPSSポータブル形式(拡張子:.POR)、またはSPSS/PC形式(拡張子:.SYS)に変換しておく必要があります。通常のSPSS形式(拡張子:.SAV)のデータには対応していません。
SPSSポータブル形式 (拡張子:.POR) |
任意のオペレーティングシステムで作成されるSPSS移植可能ファイル形式。SASからのインポートを想定している場合、SPSSからこの形式で出力することをお勧めします。 |
SPSS/PC形式 (拡張子:.SYS) |
SPSSのDOS環境で作成されるファイル。 |
- 1. CONVERTプロシジャでの変換
-
CONVERTプロシジャのSPSSオプションを利用します。
PROC CONVERT SPSS=入力ファイル参照名 OUT=出力データセット名 ;
RUN;
- SPSSの変数名/変数ラベルは、そのまま変更されずに変数名/ラベルになります
- SPSSのアルファベット変数は、SASの文字変数になります
- SPSSのブランクの値は、SASの欠損値に変換されます
- SPSSのプリント形式はSASの出力形式になります
利用する際には、以下のように事前にマクロを作成しておくと便利です。
/* マクロ定義 */
%MACRO spss2sas(IN=,OUT=);
/* SPSSデータにファイル参照名を指定します */
FILENAME _tmp &in ;
PROC CONVERT SPSS=_tmp OUT=&out ; /* SPSSオプション */
RUN;
%MEND spss2sas ;
/* マクロの実行例 */
%spss2sas(in="C:¥car.por",out=work.sample1);
- 2. LIBNAME SPSSエンジンでの読み込み
-
LIBNAMEステートメントに、SPSSエンジンを指定します。そのままの形式では直接利用できないので、いったんSETステートメントで読み込みます。
LIBNAME ライブラリ参照名 SPSS <'filename'>;
/* 利用例 */
LIBNAME mylib SPSS 'C:¥car.por';
DATA sample2 ;
SET mylib._first_;
RUN;
|