Given the SAS data set PRICES: PRICES prodid price producttype sales returns
K12S 5.10 NETWORK 15 2
B132S 2.34 HARDWARE 300 10
R18KY 21.29 SOFTWARE 25 5
3KL8BY 6.37 HARDWARE 125 15
DY65DW 5.60 HARDWARE 45 5
DGTY23 4.55 HARDWARE 67 2
The following SAS program is submitted:
data hware inter cheap;
set prices(keep = productype price);
if producttype = 'HARDWARE' then output hware;
else if producttype = 'NETWORK' then output inter;
if price le 5.00;
run;
How many observations does the HWARE data set contain?
A. 0
B. 2
C. 3
D. 4
정답은 D입니다.
위 문제는 15번과 유사한 문제입니다.
차이점은 IF문의 OUTPUT 위치입니다.
if producttype = 'HARDWARE' then output hware; 의 뜻은 producttype이 HARDWARE일 경우 바로 HWARE 데이터셋으로 곧바로 출력하라는 의미입니다.
그래서 밑의 if price le 5.00; 문의 영향을 받지 않습니다.
따라서, PRICES 데이터셋에서 producttpye이 HARDWARE에 해당하는 총 4개의 관측값이 HWARE 데이터셋으로 할당됩니다.
B132S 2.34 HARDWARE 300 10
3KL8BY 6.37 HARDWARE 125 15
DY65DW 5.60 HARDWARE 45 5
DGTY23 4.55 HARDWARE 67 2
아래의 코드를 실행해보시길 바랍니다.
data prices;
input prodid$ price producttype$ sales returns;
cards;
K12S 5.10 NETWORK 15 2
B132S 2.34 HARDWARE 300 10
R18KY 21.29 SOFTWARE 25 5
3KL8BY 6.37 HARDWARE 125 15
DY65DW 5.60 HARDWARE 45 5
DGTY23 4.55 HARDWARE 67 2
;
run;
data hware inter soft;
set prices (keep = producttype price);
if producttype = 'HARDWARE' then output hware;
else if producttype = 'NETWORK' then output inter;
if price le 5.00;
run;