按组SAS

时间:2016-08-11 19:35:15

标签: sas

我需要按组分配序号。我尝试过使用seq编号但是由一组(1,2,3等)获得。但是,我需要两个小组。如下例所示:

enter image description here

有:

Var1 Var2 Var3
101 aaa 202 
101 aaa 202 
101 bbb 203 
101 ccc 206 
101 ddd 207 
102 aaa 222 
102 aaa 222 
102 bbb 223

想要:

Obs var1 var2 var3 seq
1   101 aaa 202 1
2   101 aaa 202 1
3   101 bbb 203 2
4   101 ccc 206 3
5   101 ddd 207 4
6   102 aaa 222 1
7   102 aaa 222 1
8   102 bbb 223 2

1 个答案:

答案 0 :(得分:2)

如果您对数据进行排序,则非常简单:

proc sort data=sashelp.class out=class;
    by sex age;
run;

data class;
    set class;
    by sex age;

    if first.sex then
        seqn = 0;   

    if first.age then
        seqn + 1;
run;