如何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
是我想要产生的结果。在此先感谢,如果这个问题重复,我很抱歉。
如何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
是我想要产生的结果。在此先感谢,如果这个问题重复,我很抱歉。
data want;
set have;
by A B;
if first.B then id+1;
run;
如果您不想先使用.[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;