If ~ then / else 

조건문을 이용하여 새로운 변수를 생성하거나 기존의 값의 변화를 준다.

if then만 단독으로 사용할 수 있으며 else문을 사용하여 조건외에 다른 데이터에도 변수값 등을 정해줄 수 있다.

 

* 성별 나이 두가지로 이루어진 데이터 셋

data sample;
input sex $ age ;
cards;
f 14
f 30
m 20
m 35
f 35
m 32
f 20
;
run;

 

 

 

 

data sample_f;

set sample;
if sex='f';
if age <20 then dage=1;
else if age <30 then dage=2;
else if age <40 then dage=3;
else dage=4;
if age < 20 then group='young';
 else do;
   group='adult';
   nvar='t';
 end;
run;

 

 

위의 명령문을 실행한 결과이다.

 

 

 

조건문을 하나씩 보면

 

1. 여성만 선택한다.

 

2. 나이가  <20 이면 dage 변수에 1

              <30 이면 dage 변수에 2

              <40 이면 dage 변수에 3

을 입력하고 else는 조건 밖의 나이에 대해서는 4를 입력한다.

 

3. 나이가 20 미만이면 group변수에 young이라고 표시하며

아래보면 else do 라고 되어 있는 부분은 나이가 20이상일때 아래와 같은 조건을 실행하라는 뜻이다.

(do문에 대해서는 다음에 자세히 보기로 하자.)

나이가 20 이상일 경우 group변수에는 adult라고 표시하며 nvar라는 변수를 생성하여 t라는 값을 생성한다.

 

 

출처: http://blog.naver.com/hur_yoon/

 

 

 

+ Recent posts