SAS Crambible 20

Adios_Hosang·2022년 9월 30일
0

SAS crambible

목록 보기
20/20

Q20.

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;

profile
IT를 시작하고자 합니다

0개의 댓글