Data Science/SAS

[SAS BASE] CramBible Q#14 문제풀이 | Where 절

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

 

 

QUESTION NO: 14

 

Given the SAS data set AGES: AGES AGE The variable AGE contains character values. The following SAS program is submitted:  

data subset;
  set ages;
  where age > 12;
run;

 

How many observations are written out to the data set SUBSET?

 


 

AGE 변수가 문자형이고, 숫자 12가 따옴표 없이 사용되었기 때문에, 유효한 비교가 이루어지지 않습니다.

 

그 결과, WHERE 조건에 맞는 관측값이 없게 되며, SUBSET 데이터셋에는 아무런 관측값도 기록되지 않습니다.

 

 

0개의 관측값이 SUBSET 데이터셋에 기록됩니다.

 

 

만약 올바른 비교를 하고 싶다면 아래와 같이 숫자 12를 문자로 인식하게끔 따옴표를 사용해야 합니다:

where age > '12';

 

 


WHERE 절

 

WHERE 절은 SAS에서 데이터의 특정 조건을 만족하는 관측값만 선택할 때 사용되는 중요한 구문입니다.

 

WHERE 절은 데이터셋을 처리하거나 서브셋을 만들 때 주로 사용되며, 특정 조건에 맞는 데이터만 추출할 수 있도록 도와줍니다.

 

 

data new_data;
  set old_data;
  where condition;
run;

 

WHERE 절의 주요 특징

  1. 데이터 읽기 단계에서 필터링:
    • WHERE 절은 데이터를 읽는 단계에서 조건에 맞는 관측값을 필터링합니다. 이는 IF 절과는 차이가 있습니다.
    • IF 절은 데이터가 메모리로 로드된 이후 필터링을 수행하지만, WHERE 절은 읽기 단계에서 필터링하여 메모리 사용을 줄일 수 있습니다.
  2. 사용 가능 위치:
  • WHERE 절은 DATA 스텝뿐만 아니라 대부분의 PROC 스텝에서도 사용할 수 있습니다. 예를 들어, PROC PRINT, PROC MEANS, PROC SORT 등에서 사용이 가능합니다.
  • IF 절은 주로 DATA 스텝에서 사용됩니다.

 

728x90
반응형