SAS:如何在SAS数据集的序列中输出最后一个观察值

时间:2016-10-18 17:18:00

标签: sas

我想在变量中输出最后一个观察值,该变量是sas数据集中的整数序列。

我有这个数据集:

data have;
input seq var;
datalines;
1 7 
2 6 
3 3 
1 1 
2 4
1 8
2 9
3 1
4 8
;
run;

我想实现以下目标:

seq var
3   3
2   4 
4   8

我在网上彻底搜索了我的答案但找不到任何东西。

2 个答案:

答案 0 :(得分:2)

您可以使用前瞻技术。这是编写它的众多方法之一。

Code Signing->Debug->Simulater iOS 10 SDK->($SRCROOT)/your-path-to-file

答案 1 :(得分:0)

只是为了表明前瞻方法的灵活性 - 您可以使用lag做同样的事情,但它需要几乎两倍的代码行:

data want(drop=prev_:);
  set have end = eof;
  prev_seq = lag(seq);
  prev_var = lag(var);
  if seq < prev_seq then do;
    seq = prev_seq;
    var = prev_var;
  end;
  if eof or seq = prev_seq;
run;