sas에서 if문과 substr함수를 이용하여 관측치 일부분 수정하는 방법을 알아보자.
먼저 샘플데이터가 필요하므로 ace라는 간단한 데이터셋을 생성하였다.
[코딩과정]
data ace1;
set ace;
new_a=a;
if substr(new_a,1,1)='A' then substr(new_a,6,1)=1 ;
else if substr(new_a,1,1)='B' then substr(new_a,6,1)=2;
if substr(new_a,1,1)='A' then substr(new_a,1,1)=0;
else if substr(new_a,1,1)='B' then substr(new_a,1,1)=0;
run;
[설명]
a변수를 new_a라는 변수로 하나 더 생성 한것은 한눈에 비교하기 쉽고자 생성하였다.
첫번째 if문은
만약 a변수의 관측치에서 1번째 자리가 A일 경우 6번째자리를 1로 수정하고,
1번째 자리가 B일 경우에는 6번째자리를 2로 수정한다.
그 다음 문단의 if문은
만약 a변수의 관측치에서 1번째 자리가 A일 경우 1번째자리를 0으로 수정하고,
1번째 자리가 B일 경우에도 A와 같이 1번째자리를 0으로 수정한다는 의미이다.
위 사진을 보면 a변수와 new_a변수를 비교해서 보면
첫째자리가 A인 경우 6번째자리가 1로 변했고, 1번째 자리도 0으로 수정된 것을 볼수가 있다.
마찬가지로 첫째자리가 B인 경우 6번째자리가 2로 변했고, 1번째 자리도 0으로 수정된 것을 확인 할 수 있다.
이렇게 sas에서 if문과 substr을 혼용하여 사용해 관측치들의 일부분을 쉽게 수정할 수가 있다.
www.sasbigdata.com 김진휘
'SAS' 카테고리의 다른 글
[SAS] sas proc means를 이용해 사분위수(q1, q3) 구하기. 이상치제거 응용가능 (0) | 2014.02.21 |
---|---|
[SAS] sas 숫자앞에 0을 붙여 자리수 맞춰주는 방법 코드화작업응용(if, length, compress, || 이용) (3) | 2014.02.21 |
[SAS] sas proc glm 2 (0) | 2014.02.14 |
[SAS] sas proc glm 1 (0) | 2014.02.14 |
[SAS] SAS proc means (1) | 2014.02.13 |
댓글