SAS/SAS 질문과 답변

그룹별 일련번호 부여 문의

이슈카 2016. 2. 21. 12:47

안녕하세요.

그룹별로 일련번호를 달려고 하는데 잘 해결되지 않아서 문의좀 드려요.

 

예시 데이터는 아래와 같습니다.

 

code dif var1 var2

1       0   12    20

1       0   20    25

1       1   15    13

1       2   20    21

2       1   20    20

2       1   21    21

2       2   23    35

 

아래와 같이 구현하고자 하는데요.

first 구문을 사용하는 경우 그룹핑에 일련번호가 증가하여

원하는 형태로 데이터가 안만들어지네요.

 

code dif var1 var2  group

1       0   12    20     1

1       0   20    25     1

1       1   15    13     2

1       2   20    21     3

2       1   20    20     1

2       1   21    21     1

2       2   23    35     2 

 

조언좀 부탁드립니다.    

================================================================================

data temp;
Input code dif var1 var2;
Cards;
1 0 12 20
1 0 20 25
1 1 15 13
1 2 20 21
2 1 20 20
2 1 21 21
2 2 23 35
;
Run;
Proc sort data=temp;
By code dif;
Run;

Data temp1;
Set temp;
By code dif;
If first.Code then do; group=1; retain group; end;
If first.Code ne 1 and first.dif=1 then group=group+1;
Run;