Study SAS

統計解析ソフトウェアSASについて学習したことのまとめやSAS認定試験対策など

SAS Base Programmer 練習問題7

user.txtの内容が以下であるとして

----+----1----+
Ruth 39 11
Jose 32 22
Sue  30 33
John 40 44

次のプログラムをサブミットする。

data user;
    infile 'user.txt';
    input employee_name $ 1-4;
    if employee_name = 'Ruth' then input idnum 9-10;
    else input age 6-7;
run;

employee_name が "Ruth" のときのIDNUMの値はどれか

A. 11
B. 22
C. 32
D. . (数値データの欠損値)


答え: B (要反転)

実行結果は以下のようになる

employee_name idnum age
Ruth 22 .
Sue . 40

inputステートメントを実行すると次の行に入力行が移るため、各オブザーベーションはemployee_nameを読み込んだ後、次の行のidnumもしくはageを読み込むことになる。

employee_nameを読んだ後、次の行に移動しないようにするには

    input employee_name $ 1-4 @;

のように@を追加する。