[SAS] sas에서 그룹별로 순서대로 번호 매기는 방법

분류: SAS 작성일: 2014.05.13 16:53 Editor: 공부하는 휘라

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씩 누적하여 값을 매긴것이다.

 

 

www.sasbigdata.com 김진휘