使用SAS计算值

时间:2014-10-10 19:54:14

标签: loops count sas

我有一个这样的数据集:

a  b  c
1  2  3
4  5  6
5  8  9
9 11 12

所以我想对数据进行限制。

例如:

   a(2) - b(1) >=1 and a(2) -c(1) >=1
   a(3) - b(2) >=1 and a(3) -c(2) >=1

a(2)表示变量a的第二行,等等。

如何在SAS中编写该限制的代码?

a(2) - b(1) >=1 and a(2) -c(1) >=1

预期产出:

a b c
1 2 3
4 5 6

1 个答案:

答案 0 :(得分:0)

data have;
input a b c;
cards;
1 2 3
4 5 6
5 8 9
9 11 12
;
run;

data want;
    set have;
    diffab=a-lag(b);
    diffac=a-lag(c);

    if (diffab<1 or diffac<1) and _n_>2 then delete;
run;