在SAS中选择​​Next Not Same Data Row

时间:2013-07-17 19:33:23

标签: sas

我有一个有两列的表。现在我想选择比前一行“更少”的行。例如。

A |乙

2 | 1

2 | 2

2 | 4

2 | 8

2 | 9

3 | 12

3 | 14

1 | 16

我想在 a 中选择“1”的行,因为它比之前的3少。我可以通过创建新列但在地点寻找内容来实现。

1 个答案:

答案 0 :(得分:1)

data want;
set have;
by a notsorted;
if first.a then flag=ifn(a lt lag(a),1,0);  *ifn allows lag to work here - excel style if;
run;

这将标识作为集合中第一行的行,并且其值小于a的前一个值。然后,您可以按want过滤flag=1