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 @;
のように@を追加する。