BookmarkSubscribeRSS Feed

[BASE SAS기초] Creating Variables Conditionally(2)

Started ‎06-15-2020 by
Modified ‎06-15-2020 by
Views 94

BASE SAS기초] Creating Variables Conditionally(2) 

 

안녕하세요^^

 

오늘은 Creating Variables Conditionally의 두번째 시간입니다~

 

지난시간 IF 문과 IF-THEN문에 대해 공부했는데, 오늘은 조금 더 심화된 내용인 IF-THEN/ELSE문과 IF-THEN DO/ELSE DO문에 대해 공부하겠습니다.

 

데이터는 지난시간과 마찬가지로 sashelp 라이브러리에 있는 heart 데이터 입니다.

우선 데이터를 불러오겠습니다

 

SE22015120613433970.png

 

SE22015120613434570.png

 

이제 본격적으로  IF-THEN/ELSE문과 IF-THEN DO/ELSE DO문에 대해 알아보겠습니다.

 

 

(3) IF-THEN/ELSE 

 

 

IF expression THEN statement;

ELSE IF expression THEN statement;

(ELSE statement;)

 

​​IF-THEN/ELSE문은 IF 다음의 수식이 참이면 THEN 이후의 문장을 실행하고거짓이면 ELSE 이후의 문장을 실행합니다.

​예제를 통해 이해해보도록 하겠습니다.

SE22015120613463570.png

​sex가 ‘Female’이면 ‘F’로, 아니면 ‘M’으로 바꾸는 프로그램을 작성한다면,

앞서 배웠던​ IF THEN문장(sex가 ‘Female’이면 ‘F’로 값 변경) 후에 ELSE문장(아니면 sex값을'M'으로 변경) 을 추가해주면 됩니다.

SE22015120613471270.png

 

 

만약, 변수 값이 3개 이상의 값을 갖고 있다면 어떻게 코딩할까요?

예를들어, BP_status값이 ‘High’이면 BP_status를 ‘H’로 바꾸고, BP_status값이 ‘Normal’이면 BP_status를 ‘N’로 바꾸며, 그 외의 값에는 ‘O’로 바꾸는 코딩입니다.

SE22015120613483070.png

 

SE22015120613485470.png

코딩한 바와 같이, BP_status 값에 따라 BP_status가 ‘H’, 'N', 'O'로 바뀐 것을 확인하실 수 있습니다.

 

즉, ELSE IF문과 ELSE문을 적절히 사용하면, 변수 값의 분류가 4개, 5개일 때에도 위와 같은 코딩이 가능해 집니다.

 

 

(4) IF-THEN DO/ELSE DO 문

 

 IF expression THEN DO;

Executable statement;

​END;

​ELSE IF expression THEN DO;

Executable statement;

​END; 

 

일반적으로 IF문장에서 THEN이나 ELSE 다음에는 원래 실행문을 단 하나만 지정할 수 있습니다.

 

그런데 THEN이나 ELSE다음에 실행문을 둘 이상 나열할 필요가 있을 때가 있습니다.

​이러한 경우에, DO문장을 사용하여 둘 이상의 실행문들을 한 단위로 만들어주는 문장입니다.

​단, DO이후에는 END를 넣어서, 반드시 DO GROUP을 끝내주셔야 합니다.

​예를들어, BP_status가 ‘High’이면 BP_status를 ‘H’로 바꾸고 group을 1이라고 지정해주며,

BP_status가 ‘Normal’이면 BP_status를 ‘N’으로 바꾸고 group을 2라고 지정해주는 코딩을 작성합니다

SE22015120613571270.png

위의 코딩을 실행하면,​

 

SE22015120613503170.png

BP_status의 값이 H와 N으로 바뀐 것과 새로운 group변수에 1과 2의 값이 작성된 것을 보실 수 있습니다

이상 ​IF-THEN/ELSE문과 IF-THEN DO/ELSE DO문에 대해 공부하였습니다. 잘 따라오셨나요~?

다음 시간에는 WHERE​문에 대해 공부하겠습니다.

읽어주셔서 감사합니다^^​

Version history
Last update:
‎06-15-2020 09:37 PM
Updated by:
Contributors

sas-innovate-white.png

Special offer for SAS Communities members

Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.

 

View the full agenda.

Register now!

Article Labels
Article Tags