Sas 分组计数顺序
假设我有一个数据集,如下所示:Sas 分组计数顺序,sas,Sas,假设我有一个数据集,如下所示: ID Cat 101 G 101 G 101 F 101 G 102 F 102 F 102 G 102 F 102 F 我想按组变量ID Cat(未排序)为序列创建一个变量 计数可以是这样的 data X1; set have; by ID, cat notsorted; if first.cat then count=1; else count+1;run; ID Cat count 101 G 1 101 G 2 101 F 1
ID Cat
101 G
101 G
101 F
101 G
102 F
102 F
102 G
102 F
102 F
我想按组变量ID Cat(未排序)为序列创建一个变量
计数可以是这样的
data X1; set have; by ID, cat notsorted;
if first.cat then count=1; else count+1;run;
ID Cat count
101 G 1
101 G 2
101 F 1
101 G 1
102 F 1
102 F 2
102 G 1
102 F 1
102 F 1
然而,我要找的是
ID Cat Seq
101 G 1
101 G 1
101 F 2
101 G 3
102 F 1
102 F 1
102 G 2
102 F 3
102 F 3
你可以用
seq+first.cat;
因此,每次启动一个新的CAT值时,SEQ将增加1
要为每个ID添加重置,请执行以下操作:
if first.id then seq=1;