全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2483 2
2006-12-02

请问有一个变量,

X=1, 2 ,2.3我们知道

Lag(X)=* ,1,2;

有没有函数使得

Y=2,2.3,*?

多谢

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2006-12-5 06:25:00

好像没有的.

处理办法是在原序列后加一个零,再取LAG

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2007-2-16 06:54:00

*1. use id+1 to create a observation rank number;

*2. create data b from second observation of your data a; use firstobs=2; but the observation number is one step up;

*3. merge your original data 'a' and new data 'b' together;

*******************************************************************;

data a;

id+1;

input x @@;

lagx=lag(x);

cards;

1 2 2.3 55 0.7 100 11

;

run;

proc print data=a;

run;

data b (rename=(x=y lagid=id));

set a (firstobs=2);

lagid=id-1;

drop id lagx;

run;

proc print data=b;

run;

proc sort data=a out=a (keep=id x);

by id;

run;

proc sort data=b;

by id;

run;

data final;

merge a b;

by id;

run;

proc print data=final;

run;

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群