SAS Base Programmer 練習問題2
データセットCOMPANY.PRICESに以下のようなデータが入っている
OBS | prodid | price | producttype | sales | returns |
---|---|---|---|---|---|
1 | K12S | 5.10 | NETWORK | 15 | 2 |
2 | B132S | 2.34 | HARDWARE | 300 | 10 |
3 | R18KY2 | 1.29 | SOFTWARE | 25 | 5 |
4 | 3KL8BY | 6.37 | HARDWARE | 125 | 15 |
5 | DY65DW | 5.60 | HARDWARE | 45 | 5 |
6 | DGTY23 | 4.55 | HARDWARE | 67 | 2 |
次のコードをサブミットしたとき、
データセットHWAREに格納されるオブザーベーションの数はいくつか
libname company 'SAS-data-library'; data hware inter soft; set company.prices (keep = producttype price); if price le 5.00; if producttype = 'HARDWARE' then output HWARE; else if producttype = 'NETWORK' then output INTER; else if producttype = 'SOFTWARE' then output SOFT; run;
A. 0
B. 2
C. 4
D. 6
出典はこちら
答え: B (要反転)
最初のifステートメントでpriceの値が5より小さいレコードでサブセット化され、
prodid | price | producttype | sales | returns |
---|---|---|---|---|
B132S | 2.34 | HARDWARE | 300 | 10 |
R18KY2 | 1.29 | SOFTWARE | 25 | 5 |
DGTY23 | 4.55 | HARDWARE | 67 | 2 |
この中で、producttypeが'HARDWARE'であるデータをデータセットHWAREに格納する。対象となるレコードは
prodid | price | producttype | sales | returns |
---|---|---|---|---|
B132S | 2.34 | HARDWARE | 300 | 10 |
DGTY23 | 4.55 | HARDWARE | 67 | 2 |
となりオブザーベーション数は2。
なお、実際のHWAREの内容は
OBS | price | producttype |
---|---|---|
1 | 2.34 | HARDWARE |
2 | 4.55 | HARDWARE |
となる。