데이터 스터디/SAS

SAS - 명령문 (if 조건문,retain, array)

케이와이엠 2023. 3. 22. 12:40

# if 조건문

1) if 조건문 then statement ;

- 조건문이 참이면 statement 수행하고 그렇지 않으면 수행하지 않는다.

x를 다른 x-1로 지정해줘
z를 새로 만들어줘

2) if 조건문 do statement1 statement2 --- end

- statement가 두 개 이상일 때 do end 문을 쓴다.

do end 문

3) if 조건문 then statement1 ; else statement2;

- 만약 조건문이 참이면 수행하고, 거짓이면 statemetn2를 수행

if ~ else

 

if ~~ then ~~ else if ~~~ then ~~ else

 

80<score<90 하면 절대 안되고 !!! & 연산자로 score<90 & score>=80 해줌

[수업예시 1]

IF 문 DO~END문

-do end 을 함께 사용하면 하나의 조건식에 여러 개의 할당문이 지정될 수 있다.

 

[수업예시 2]

실습해보기

length 문에 문자형이라 $ 꼭 넣어줘야 함 !

 

그리고 여기서 변수 순서 수정하려면,

set 문으로 데이터셋을 복사한 다음에 retain 문으로 순서 정함 !

그리고 sex 변수 제거하려면 drop sex; 하기

 


# RETAIN 명령문

초기값 할당 전 <-> 후
 

- 초기값을 0으로 할당해줘야 누적 합들이 나옴

y에 할당하는 것도 가능함

 

[예시 - 매우 중요 ! 시험 !]

retain 명령문 / do ~~output ;end;
만약에 output 안해주면 마지막 값만 나옴 !

#ARRAY 명령문

- array명령문은 일련의 변수들을 배열의 원소들로 지정하는 작업을 하며,

여러 개의 변수들에 대해서 동일한 작업을 반복할 필요가 있을 때 사용된다.

- 일반적인 형식

DATA 데이터셋명;

ARRAY 배열이름{배열크기} 변수들 이름;

RUN;

 

[예시]

x1-x6 변수들 중에 x1 x3 x6만 대상으로 하겠다 !! i는 1,2,3 지나고 4가 나올 것이다.
drop i 시켜서 i 없애기

[예시 2]

array 변수이름[변수크기] 변수명 ; do i=1 to 5; statement;end;drop i; cards;
 

[예시 3] - 시험에 자주 출제 !!

aaa[17] 변수들 다 사용 !

 

if 문 반복하지말고 in(9,99,999) 사용해줌.