1

如何ID根据两个变量分配数字,A并且B. 如果代码可以处理多个变量,那将很有帮助。这是我的数据的样子:

A       B  ID
5000136 5 1
5000136 5 1
5000225 4 2
5000225 4 2
5000225 4 2
5000225 6 3
5000225 6 3
5000225 6 3
5000327 2 4
5000327 2 4
....

ID是我想要产生的结果。在此先感谢,如果这个问题重复,我很抱歉。

4

2 回答 2

4
data want;
set have;
by A B;
if first.B then id+1;
run;
于 2012-09-17T16:27:48.427 回答
1

如果您不想先使用.[var] 处理,也可以使用此方法。

data test;
infile cards;
input a b;
retain id 0;
id = ifn(lag(b) ne b, id+1, id);
datalines;
5000136 5 
5000136 5 
5000225 4 
5000225 4 
5000225 4 
5000225 6 
5000225 6 
5000225 6 
5000327 2 
5000327 2 
;
run;

proc print; 
run;
于 2012-09-18T21:42:43.947 回答