Data Science/SAS

[SAS BASE] CramBible Q#15 문제풀이 if 절

오기오기 2024. 9. 28. 19:30
728x90
반응형

 

QUESTION NO: 15

Given the SAS data set PRICES: PRICES

 

prodid price  producttype NETWORK sales

K12S 5.10 15 returns
B132S 2.34 HARDWARE 300 10
R18KY21.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 soft;
set 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;

 

 

How many observations does the HWARE data set contain?

 


 

문제풀이

data hware inter soft;
set 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;

 

  • 이 프로그램은 PRICES 데이터셋에서 producttype과 price 변수만 유지합니다(keep = producttype price).
  • 조건에 따라 세 개의 새로운 데이터셋(HWARE, INTER, SOFT)을 만듭니다.

 

  1. set prices (keep = producttype price);:
    • PRICES 데이터셋에서 producttype과 price 변수만 읽어옵니다.
  2. if price le 5.00;:
    • price가 5.00 이하인 경우만 남겨둡니다. 즉, 이 조건을 만족하지 않으면 관측값은 제외됩니다.
  3. if producttype = 'HARDWARE' then output HWARE;:
    • producttype이 'HARDWARE'인 경우 HWARE 데이터셋에 해당 관측값을 저장합니다.
  4. else if producttype = 'NETWORK' then output INTER;:
    • producttype이 'NETWORK'인 경우 INTER 데이터셋에 해당 관측값을 저장합니다.
  5. else if producttype = 'SOFTWARE' then output SOFT;:
    • producttype이 'SOFTWARE'인 경우 SOFT 데이터셋에 해당 관측값을 저장합니다.

 

 

주어진 데이터셋에서 조건을 만족하는 관측값 찾기:

price le 5.00인 경우:

  • price가 5.00 이하인 경우를 찾아보면:
    • B132S: price = 2.34, producttype = HARDWARE
    • DGTY23: price = 4.55, producttype = HARDWARE

따라서, price가 5.00 이하인 관측값은 총 2개입니다.

producttype이 'HARDWARE'인 경우:

  • price가 5.00 이하이면서, producttype이 'HARDWARE'인 경우는:
    • B132S
    • DGTY23

따라서, 이 두 개의 관측값이 HWARE 데이터셋에 기록됩니다.

 

정답 : 2

728x90
반응형