sas에서 데이터셋안의 조건에 맞는 값들을 각각 뽑아내서 따로따로 각각의 데이터셋으로 저장하는 방법을 알아보자.

 

[사진참조]

 

 

위의 코딩을 보면 total에는 num과 cost 두개의 변수를 가진 총 4개의 관측치가 있다.

 

코딩 설명

data a b;    데이터셋 a와 b를 생성해라.

set total;     데이터셋 total을 가져와라.

if num='aaa' then output a;        만약 num값이 aaa이면 a데이터셋으로 보내라.

else if num='bbb' or num='ccc' then output b;       만약 num값이 bbb이거나 ccc이면 b 데이터셋으로 보내라.

run; 실행해.

 

 

위의 결과창을 보면 a와 b라는 데이터셋이 생기면서 각각 조건에 맞는 값들이 저장된 것을 확인 할 수가 있다.

 

sasbigdata.com 김진휘

 

 

※글에 대한 여러분 생각을 남겨 주세요. 소중하게 의견 감사드려요!
  1. 학생 2014.05.13 17:59  댓글주소  수정/삭제  댓글 남기기

    새로 생성되는 데이터셋을 a,b 두개 말고 더 많이 생성할 수도 있나요? 그렇다면 if문은 어떻게 써야하나요?
    혹시 아시면 도움 말씀 좀 부탁드려요. =)

    • 공부하는 싸빅 2014.05.15 10:15 신고  댓글주소  수정/삭제

      위와 동일하게 늘려만 주시면 됩니다.

      data k;
      input code;
      cards;
      111
      222
      333
      444
      ;
      run;

      data a b c d;
      set k;
      if code=111 then output a;
      else if code=222 then output b;
      else if code=333 then output c;
      else output d;
      run;

      이렇게 되면 a,b,c,d 데이터셋으로 각각 조건에 맞게
      111값은 a데이터셋으로
      222값은 b데이터셋으로
      333값은 c데이터셋으로
      위의 조건에 만족하지 않은 444는 d데이터셋으로 들어가게됩니다.^^