现在的位置: 首页 > 综合 > 正文

生成向前一期观测值(lag对立面)

2018年10月23日 ⁄ 综合 ⁄ 共 457字 ⁄ 字号 评论关闭

我们知道SAS中的LAG函数可以生成变量值是观测值的滞后观测,见

http://blog.renren.com/blog/220869953/714650606?frommyblog

一个简单的例子:

data test;
   input var1 var2 $;
cards;
1 A
2 B
3 C
4 D
5 E
;
run;
data test1;
   set test;
   nextvar2=lag(var2);
run;

 

test1结构如下:

 

那么如何生成变量,变量值是var2向前一期的呢?

即结构是这样的:

 

 

解决途径有:

 

1.set 语句

data test2;
   if eof=0 then set test(firstobs=2 keep=var2
         rename=(var2=nextvar2))end=eof;
       else nextvar2=' ';
   set test;
run;

 

2.Merge

Data test2;
   merge test test(firstobs=2 keep=var2 rename=(var2=nextvar2));
run;

抱歉!评论已关闭.