2016-08-11 166 views
-3

我需要按组指定seq编号。我曾尝试使用seq编号,但得到了一个组(1,2,3等)。不过,我需要两组。如下面的例子:按组添加seq编号SAS

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

请发布您的样本数据a而不是一个形象。 – user667489

+0

无法弄清楚如何以图片形式输入文字。下面是数据: 101 AAA 202 101 AAA 202 101 BBB 203 101 CCC 206 101 DDD 207 102 AAA 222 102 AAA 222 102 BBB 223 – Sammy

+0

@Sammy看任何数量的其它SAS问题在这里。 – Joe

回答

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; 
+0

感谢罗伯特,我尝试了你的例子。但是,它是连续的。我需要在下一组中再次从1开始。 I,E。 Var1 - 102应该从1开始,而不是从之前的seq编号开始。 在你的例子中,Sex = M应该从1开始。 – Sammy

+0

@Sammy这是'by'组的用途。 – Joe

+0

@Sammy我改变了一点点的代码。 –