SAS
[SAS] sas에서 그룹별로 순서대로 번호 매기는 방법
SASBIGDATA김진휘
2014. 5. 13. 16:53
sas에서 그룹별(중복값들에 대해)로 각 순서를 매기는 방법에 대하여 알아보자.
예를 들어 설명하면 1이라는 값이 3개가 있으면 새로운 변수를 생성해 1이라는 값 옆에 1부터 3까지 생성하는 것이다.
[코딩]
/*예제데이터 a 생성*/
data a;
input jin@@;
cards;
1 1 1 2 2 2 2 2 3 3
;
run;
/*예제데이터는 데이터가 순서대로이지만 원래는 proc sort를 그룹이 되는 변수별로 실시해줘야됨*/
proc sort data=a; by jin; run;
/*새로운 변수를 생성, 그룹별로 1부터 누적값을 만들어줌*/
data b;
set a;
by jin;
if first.jin=1 then n_jin=0;
n_jin+1;
run;
[결과]
위와 같이 코딩을 실행하면 아래와 같은 결과가 b라는 데이터셋으로 출력된다.
jin이라는 변수에 1그룹이 3개이므로 우측에 n_jin이라는 변수를 생성하여 1,2,3이라는 값을 만든것이다.
그룹별로 동일값들에 대해서 순차적으로 1씩 누적하여 값을 매긴것이다.