조건문
1. IF - THEN문장
IF condition THEN statement; ELSE IF condition THEN statement; .... ELSE staement; |
아래와 같은 raw data가 있습니다.
-IF문장 : Height값이 160이상일 때 -> doo=Weight/((Height-110)*0.9)*100
Height값이 160미만일 때 -> doo=Weight/((Height-100)*0.9)*100
- else if - then 문장 대신 else doo=weight/((height-100)*0.9)*100; 문장을 써도 같은 결과
- label문장 : doo column에 'Degree of obesity'라는 라벨을 영구적용
※ IF-THEN문장을 쓸 때 위처럼 기존변수뿐 아니라 새로운 변수를 IF문을 사용하여 생성할 수도 있습니다.
2. IF - THEN DO문장
THEN 뒤에 실행한 조건문이 두 개 이상일 경우 THEN DO문장을 사용합니다.
(THEN 뒤에 두 개 이상의 조건물을 연이어 사용할 수 없습니다.)
IF condition THEN DO; statement; END; ELSE IF condition THEN DO; statement; END; ..... ELSE DO; statement; END; |
- else if - then do문장 대신 else do; result='비정상'; level='B'; end; 문장을 사용해도 같은 결과
- length result $ 11.; : result column의 길이를 지정
length문장을 쓰지 않았을 경우
-> 위와 같이 '주의수준'에서 뒷부분이 잘리게 됩니다. 왜냐하면 result='정상'; 이라는 문장을 먼저 코딩했기 때문에
그 글자수에 column길이가 결정됩니다.
3. IF-THEN DELETE 문장
특정 행(row)를 삭제할 때 사용합니다.
IF condition THEN DELETE; |
( 위 SAS data set에서 ID column은 문자변수입니다.)
4. Subsetting IF 문장
특정 행(row)를 선택할 때 사용합니다.
IF condition; |
※ subsettinf IF문장은 해당조건문 안의 변수를 만든 직후에 사용하는 것이 가장 효율적입니다.
** DATA step에서의 row선택
① WHERE statement
② DELETE statement
③ Subsetting IF statement
cf) IF id>='103'; 과 IF id<103 THEN DELETE; 는 같은 결과
**
WHERE | Subsetting IF | |
DATA step |
△(import변수에 한해서만 사용가능) |
Ο |
PROC step |
Ο |
× |
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.
Lock in the best rate now before the price increases on April 1.