|
|
任意変数が欠損値のとき、
|
|||||
NO VALUE 1001 100 . 50 1002 50 . 100 . 150 1003 50 . 200 1004 50 |
⇒ |
NO VALUE 1001 100 1001 50 1002 50 1002 100 1002 150 1003 50 1003 200 1004 50 |
RETAINステートメントを使用します。次のプログラム例を参考にしてください。例では、任意の変数が欠損値ではないとき、その値を別の変数に保存します。欠損値が現れた場合は、保存しておいた値を欠損値の代わりにセットします。
例)
/* サンプルデータセット */
DATA sample;
INPUT no value;
CARDS;
1001 100
. 50
1002 50
. 100
. 150
1003 50
. 200
1004 50
;
RUN;
DATA sample(drop=sv_no);
RETAIN sv_no; /* 値を保持 */
SET sample;
IF no = . THEN /* 欠損値のとき */
no = sv_no;
ELSE
sv_no = no;
RUN;
/* 値の確認 */
PROC PRINT DATA=sample;
RUN;